webForumDet fria alternativet

jmail till cdonts. Fel på koden

16 svar · 513 visningar · startad av jake

jakeMedlem sedan sep. 2001649 inlägg
#1

Då mitt webbhotell inte stödjer jmail försökte jag göra om till cdonts enligt följande...

'''This function sends an e-mail
Function SendEmail(sMail, FileName)

	Set JMail = Server.CreateObject("JMail.SMTPMail") 
	JMail.ServerAddress = MailServer
	JMail.Sender = "sida@doman.nu"
	JMail.SenderName = "avsändare"
	JMail.Subject = "Sitetips prenumeration"
	JMail.AppendBodyFromFile FileName
	JMail.AddRecipient sMail
	JMail.Execute
	Set JMail = Nothing

End Function

men följande kod fungerar inte riktigt...

Function SendEmail(sMail, FileName)

Set Mail = Server.CreateObject("CDONTS.NewMail")
Mail.ServerAddress = MailServer
Mail.From = "sida@doman.nu"
Mail.Subject = "ämne"
Mail.AppendBodyFromFile FileName
Mail.AddRecipient sMail
Mail.Send
Set Mail = Nothing

End Function

tacksam för hjälp

@ndersMedlem sedan juni 200032 969 inlägg
#2

Det är inte bara att byta i CreateObject, du måste ju också se till att du använder rätt egenskaper och metoder.

Du löser problemet själv på ett par minuter med en liten sökning i det här forumet.

jakeMedlem sedan sep. 2001649 inlägg
#3

jo har försökt det men hittar inte egenskaperna som motsvarar:

Mail.ServerAddress = MailServer
Mail.AppendBodyFromFile FileName
Mail.AddRecipient sMail

men felmeddelande viasar på raden function, men det kanske är för att det är fel inne i funktionen eller kan det inte stå så i cdonts?

Jesper TMedlem sedan nov. 20017 144 inlägg
#4

Skriv vad du får för felmeddelande istället

ObserverMedlem sedan maj 200351 inlägg
#5
  

Function SendEmail(sMail, FileName)

Set Mail = Server.CreateObject("CDONTS.NewMail")
Mail.From = "sida@doman.nu"
Mail.Subject = "ämne"
Mail.Body = FileName
Mail.to = sMail
Mail.Send
Set Mail = Nothing

End Function

Kanske funkar bättre ?
kör det utanför funktionen så ser du kanske bättre vad som går snett...

adeMedlem sedan juli 20041 081 inlägg
#6

set mailare = server.CreateObject("CDONTS.Newmail")
Mailare.ServerAddress = MailServer
Mailare.From = "sida@doman.nu"
Mailare.Subject = "ämne"
Mailare.AppendBodyFromFile FileName
Mailare.AddRecipient sMail
Mailare.Send
Set Mailare = Nothing

End Function

Testa det. Annars byter du bara första raden till

set mailare = server.CreateObject("CDO.Message")

om ditt webhotell stödjer cdosys. Vilket det borde om det stödjer cdonts. är det web10 så fungerar det!

jakeMedlem sedan sep. 2001649 inlägg
#7

ade:
får det inte att fungera med någotdera av alternativen.

Försökte ändra enligt övriga förslag så nu ser koden ut såhär:


'''This function sends an e-mail

Function SendEmail(sMail, FileName)

set mail = server.CreateObject("CDONTS.NewMail")
Mail.ServerAddress = MailServer
Mail.From = "sitetips@sitetips.nu"
Mail.Subject = "sitetips"
Mail.body FileName
Mail.to sMail
Mail.Send
Set Mail = Nothing
End Function

felmeddelande är
Server object error 'ASP 0177 : 800401f3'

Server.CreateObject Failed

/inc_maillist.asp, line 65

Invalid ProgID

så kan det vara så att koden är rätt men något id som är fel. Dock har jag kollat så att lösenord och databasid och sånt ska stämma..

J.N.Medlem sedan apr. 20031 660 inlägg
#8

HEJ!

jake skrev:

Server object error 'ASP 0177 : 800401f3'

Server.CreateObject Failed

CreatObject Failed betyder att CDONTS inte går att använda på servern, eftersom det inte finns.

ade skrev:

set mailare = server.CreateObject("CDO.Message")

Har du testat med detta istället?

adeMedlem sedan juli 20041 081 inlägg
#9

Men då måste webhotellet stödja cdosys

J.N.Medlem sedan apr. 20031 660 inlägg
#10

HEJ!

ade skrev:

Men då måste webhotellet stödja cdosys

Givetvis, men eftersom CDONTS inte fungerade, gissade jag på att servern är av senaste snitt.
Läser lite noggrannare nu, han hade ju faktiskt testat detta också.

Eftersom det borde fungera, eftersom de inte är extrakomponenter, ville jag vara säker på att han gjort det.

Fungerar inte de, måste/bör de ha annan teknik, dvs jake får fråga webbhotellet hur han ska göra för att skicka epost.

jakeMedlem sedan sep. 2001649 inlägg
#11

tack för intresset. följande info från webbhotellet:

På den servern ni har ert konto på ska ni använda CDONTS. Jag har lagt upp
en fil i wwwroot på ert konto som heter mailtest.asp. Jag har testat att
skicka med den filen och det fungerar fint.

Men med min kod (bifogad rad 65 och vidare) blir det fortfarande fel

felmeddelande:
Server object error 'ASP 0177 : 800401f3'

Server.CreateObject Failed

/inc_maillist.asp, line 65

så det måste vara något i koden som är fel.


Function SendEmail(sMail, FileName)

set mail = Server.CreateObject("CDONTS.NewMail")
Mail.ServerAddress = MailServer
Mail.To sMail
Mail.From = "sitetips@sitetips.nu"
Mail.Subject = "sitetips"
Mail.Body FileName

Mail.Send
Set Mail = Nothing
Jesper TMedlem sedan nov. 20017 144 inlägg
#12

Har du testat detta:
Mail.ServerAddress = "localhost"
eller ta bort den helt.

jakeMedlem sedan sep. 2001649 inlägg
#13

japp blir samma felmed. med dessa alternativ...

Jesper TMedlem sedan nov. 20017 144 inlägg
#14

1. Testa detta:

Set Mail = Server.CreateObject("CDONTS.NewMail")
Mail.To "sitetips@sitetips.nu"
Mail.From = "sitetips@sitetips.nu"
Mail.Subject = "testar"
Mail.Body "Test var det här"

Mail.Send
Set Mail = Nothing

(Ta bort funktioner och annat krafs!)

2. Funkar det inte, ring ditt hotell och säg att de ljuger. ;)

J.N.Medlem sedan apr. 20031 660 inlägg
#15

HEJ!

jake skrev:

På den servern ni har ert konto på ska ni använda CDONTS. Jag har lagt upp en fil i wwwroot på ert konto som heter mailtest.asp. Jag har testat att skicka med den filen och det fungerar fint.

Varför inte göra det lätt för dig och använda deras kod?

Jesper TMedlem sedan nov. 20017 144 inlägg
#16

Ja, ha. Jag trodde att det var den han använde. Där ser man. :)

jakeMedlem sedan sep. 2001649 inlägg
#17

Jo, med den eller egen kod utan funktioner fungerade det, men tydligen var det så att en funktion i CDONTS skulle föregås av ett = vilket det inte gjorde i jmail *suck*
om jag nu fattat allt rätt.

Det är sådana här små saker som skiljer två liknande koder som gör att man slösar en mängd timmar att hitta dessa småfel när man är lite ovan.
nedan kod fungerar alltså (notera Mail.To =
som är kopplad till funktionen sMail

Function SendEndmail(sMail)

Set Mail = Server.CreateObject("CDONTS.NewMail")
Mail.To = sMail
Mail.From = "epost@epost.nu"
Mail.Subject = "sitetips"
Mail.Body = "body"
Mail.Send
Set Mail = Nothing
131 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)