/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Sende e-mail via smtp med Socket.TCP
Fra : Thygesen


Dato : 17-10-02 08:53

Hvordan kan man sende e-mail via smtp med socket.tcp.

Jeg har følgende kode:

objSocket.SendLine("MAIL FROM: <testmail@cht.dk>")
objSocket.waitfor("OK")

tmpBuffer = objSocket.Buffer
Response.Write Server.HTMLEncode(tmpBuffer) & "<hr>"

objSocket.SendLine("RCPT TO: <testmail@cht.dk>")
objSocket.waitfor("OK")

tmpBuffer = objSocket.Buffer
Response.Write Server.HTMLEncode(tmpBuffer) & "<hr>"

objSocket.SendLine("DATA")
objSocket.waitfor("OK")

tmpBuffer = objSocket.Buffer
Response.Write Server.HTMLEncode(tmpBuffer) & "<hr>"

objSocket.SendLine("DATA")
objSocket.waitfor("OK")


Hvor den udskriver dette:

220 fepE.post.tele.dk ESMTP server (InterMail vM.4.01.03.23
201-229-121-123-20010418) ready Thu, 17 Oct 2002 09:47:08 +0200
250 Sender <testmail@cht.dk> Ok
250 Recipient <testmail@cht.dk> Ok
354 Ok Send data ending with <CRLF>.<CRLF>


Men det virker ikke hvis jeg prøver at tilføje denne kode:


mytext = mytext & "Message-ID: <005801c275b0$52169220$6601a8c0@LocalHost>" &
VbCrLf
mytext = mytext & "From: ""Thygesen"" <testmail@cht.dk>" & VbCrLf
mytext = mytext & "To: <testmail@cht.dk>" & VbCrLf
mytext = mytext & "Subject: message subject" & VbCrLf
mytext = mytext & "Date: Thu, 17 Oct 2002 09:39:25 +0200" & VbCrLf
mytext = mytext & "MIME-Version: 1.0" & VbCrLf
mytext = mytext & "Content-Type: text/plain;" & VbCrLf
mytext = mytext & ".charset=""iso-8859-1""" & VbCrLf
mytext = mytext & "Content-Transfer-Encoding: quoted-printable" & VbCrLf
mytext = mytext & "X-Priority: 3..X-MSMail-Priority: Normal" & VbCrLf
mytext = mytext & "X-Mailer: Microsoft Outlook Express 6.00.2600.0000" &
VbCrLf
mytext = mytext & "X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000"
& VbCrLf
mytext = mytext & "" & VbCrLf
mytext = mytext & "message" & VbCrLf
mytext = mytext & "" & VbCrLf
mytext = mytext & "end of message" & VbCrLf
mytext = mytext & "" & VbCrLf
mytext = mytext & "" & Chr(13) & Chr(10)

tmpBuffer = objSocket.Buffer
Response.Write Server.HTMLEncode(tmpBuffer) & "<hr>"

objSocket.SendLine(mytext)
objSocket.waitfor("OK")

Så får jeg bare timeout og meddelelsen bliver ikke sendt.

Mvh. Christoffer Thygesen




 
 
Lars Hoffmann (17-10-2002)
Kommentar
Fra : Lars Hoffmann


Dato : 17-10-02 09:57


"Thygesen" <cht@cht.dk> escribió

> objSocket.SendLine(mytext)
> objSocket.waitfor("OK")

husk at du skal afslutte mailen med
<nylinie><punktum><nylinie>



Thygesen (17-10-2002)
Kommentar
Fra : Thygesen


Dato : 17-10-02 11:40

"Lars Hoffmann" <lars@intercambiodvd.com> skrev
>
> > objSocket.SendLine(mytext)
> > objSocket.waitfor("OK")
>
> husk at du skal afslutte mailen med
> <nylinie><punktum><nylinie>
>

ok, det havde jeg lige overset. Nu bliver mailen da i hvert fald sendt, men
den kommer med en fejlmeddelelse:

250 Message received:
20021017104108.ZWKM22281.fepX.post.tele.dk@[80.63.95.180]
500 Command unknown: ''
221 fepX.post.tele.dk ESMTP server closing connection


Mvh. Christoffer Thygesen



Lars Hoffmann (17-10-2002)
Kommentar
Fra : Lars Hoffmann


Dato : 17-10-02 11:58

"Thygesen" <cht@cht.dk> escribió

> 250 Message received:
> 20021017104108.ZWKM22281.fepX.post.tele.dk@[80.63.95.180]
> 500 Command unknown: ''

Du afslutter maaske med ikke noget i stil med :
<nylinie><punktum><nylinie><nylinie>




Lars Hoffmann (17-10-2002)
Kommentar
Fra : Lars Hoffmann


Dato : 17-10-02 12:03

"Lars Hoffmann" <lars@intercambiodvd.com> escribió
> Du afslutter maaske med ikke noget i stil med :

Sikke en gang vrøvl jeg fik fyret af der skulle have stået:

Du afslutter maaske med noget i stil med:



Thygesen (17-10-2002)
Kommentar
Fra : Thygesen


Dato : 17-10-02 12:09

"Lars Hoffmann" <lars@intercambiodvd.com> skrev i en meddelelse
news:aom5fp$nr5uh$1@ID-163022.news.dfncis.de...
> "Lars Hoffmann" <lars@intercambiodvd.com> escribió
> > Du afslutter maaske med ikke noget i stil med :
>
> Sikke en gang vrøvl jeg fik fyret af der skulle have stået:
>
> Du afslutter maaske med noget i stil med:
>

Jeg har nu fået det til at virke. Jeg rettede så der kom til at stå
følgende:

senddata = senddata & "From: ""Thygesen"" <cht@cht.dk>" & Chr(13) & Chr(10)
senddata = senddata & "To: <aaa@cht.dk>" & Chr(13) & Chr(10)
senddata = senddata & "Subject: message subject" & Chr(13) & Chr(10)
senddata = senddata & Chr(13) & Chr(10)
senddata = senddata & "Hej" & VbCrLf
senddata = senddata & Chr(13) & Chr(10) & "."

objSocket.SendLine(senddata)
objSocket.waitfor("received")

Så nu ser det bare ud til at der virker helt perfekt.

Mange tak for det.

Mvh. Christoffer Thygesen



Lars Hoffmann (17-10-2002)
Kommentar
Fra : Lars Hoffmann


Dato : 17-10-02 14:17


"Thygesen" <cht@cht.dk> escribió

> senddata = senddata & Chr(13) & Chr(10) & "."
>
> objSocket.SendLine(senddata)

arh, klart. Det er fordi du bruger sendLine() der automatisk
indsætter et linieskift til sidst i de data den sender.
Med venlig hilsen
Lars Hoffmann



Lars Hoffmann (17-10-2002)
Kommentar
Fra : Lars Hoffmann


Dato : 17-10-02 21:54

Thygesen escribió / skrev

> mytext = mytext & "" & VbCrLf

Hvorfor ikke bare bruge

mytext = mytext & VbCrLf

?

Thygesen (17-10-2002)
Kommentar
Fra : Thygesen


Dato : 17-10-02 22:06

"Lars Hoffmann" <lars@intercambiodvd.com> skrev
>
> Thygesen escribió / skrev
> > mytext = mytext & "" & VbCrLf
>
> Hvorfor ikke bare bruge
>
> mytext = mytext & VbCrLf

Det kan man også sagtens, jeg tilføjede bare: mytext = mytext & " foran alle
linjerne der skulle sendes og " & VbCrLf efter linjerne og så var der jo
ingen grund til at fjerne det. Det gør slet ikke nogen forskel.

Mvh. Christoffer Thygesen




Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408937
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste