Archived Forum PostQuestion:
Dear all,
I am trying to send out an SMTP email using the "mailman" but I keep getting a socket timeout in the process:
SendEmail:
DllDate: Mar 6 2015
ChilkatVersion: 9.5.0.48
UnlockPrefix: GUDFINMAILQ
Username: GKRPROD01:SYSTEM
Architecture: Little Endian; 32-bit
Language: ActiveX
VerboseLogging: 0
sendEmailInner:
renderToMime:
createEmailForSending:
xSigningAlg: sha1
Auto-generating Message-ID
--createEmailForSending
renderToMime: Elapsed time: 0 millisec
--renderToMime
sendMimeInner:
progressTotal: 5355
ensureSmtpSession:
ensureSmtpConnection:
SmtpHost: mail.axelero.hu
SmtpPort: 25
SmtpUsername: gkristj
SmtpSsl: 0
StartTLS: 0
smtpConnect:
smtpHostname: mail.axelero.hu
smtpPort: 25
connectionIsReady:
Need new SMTP connection
--connectionIsReady
smtpSocketConnect:
socketOptions:
SO_SNDBUF: 262144
SO_RCVBUF: 4194304
TCP_NODELAY: 1
--socketOptions
--smtpSocketConnect
smtpGreeting:
readSmtpResponse:
SmtpCmdResp: 220 mail01d.mail.t-online.hu ESMTP You must authenticate before sending mail
--readSmtpResponse
--smtpGreeting
ehloCommand:
sendCmdToSmtp:
SmtpCmdSent: EHLO GKRPROD01<crlf>
--sendCmdToSmtp
readSmtpResponse:
SmtpCmdResp: 250-mail01d.mail.t-online.hu
SmtpCmdResp: 250-PIPELINING
SmtpCmdResp: 250-SIZE 26214400
SmtpCmdResp: 250-VRFY
SmtpCmdResp: 250-ETRN
SmtpCmdResp: 250-STARTTLS
SmtpCmdResp: 250-AUTH PLAIN LOGIN
SmtpCmdResp: 250-AUTH=PLAIN LOGIN
SmtpCmdResp: 250-ENHANCEDSTATUSCODES
SmtpCmdResp: 250-8BITMIME
SmtpCmdResp: 250 DSN
--readSmtpResponse
--ehloCommand
--smtpConnect
--ensureSmtpConnection
ensureSmtpAuthenticated:
smtpAuthenticate:
smtp_host: mail.axelero.hu
smtp_port: 25
smtp_user: gkristj
smtpAuthenticate:
login_method: LOGIN
auth_login:
smtpSendGet2:
sendCmdToSmtp:
SmtpCmdSent: AUTH LOGIN<crlf>
--sendCmdToSmtp
readSmtpResponse:
SmtpCmdResp: 334 VXNlcm5hbWU6
--readSmtpResponse
--smtpSendGet2
sendCmdToSmtp:
SmtpCmdSent: Z2tyaXN0ag==<crlf>
--sendCmdToSmtp
readSmtpResponse:
SmtpCmdResp: 334 UGFzc3dvcmQ6
--readSmtpResponse
sendCmdToSmtp:
SmtpCmdSent: {PasswordOrCredentials}
--sendCmdToSmtp
readSmtpResponse:
SmtpCmdResp: 235 2.7.0 Authentication successful
--readSmtpResponse
--auth_login
--smtpAuthenticate
ConnectionType: Unencrypted TCP/IP
--smtpAuthenticate
--ensureSmtpAuthenticated
--ensureSmtpSession
sendSmtpEmail:
sendWithPipelining:
sendMailFrom:
mailFrom: admin@thehuntinglounge.com
sendCmdToSmtp:
SmtpCmdSent: MAIL FROM:<admin@thehuntinglounge.com><crlf>
--sendCmdToSmtp
--sendMailFrom
sendRcptTo:
sendCmdToSmtp:
SmtpCmdSent: RCPT TO:<gudfinnur@gkr2004.com><crlf>
--sendCmdToSmtp
--sendRcptTo
sendCmdToSmtp:
SmtpCmdSent: DATA<crlf>
--sendCmdToSmtp
readSmtpResponse:
SmtpCmdResp: 354 Ready, steady, go
--readSmtpResponse
readRcptTo:
readSmtpResponse:
SmtpCmdResp: 250 2.1.0 Ok
--readSmtpResponse
recipient: gudfinnur@gkr2004.com
--readRcptTo
readSmtpResponse:
SmtpCmdResp: 250 2.1.5 Ok
--readSmtpResponse
smtpRset:
Sending RSET command.
smtpSendGet2:
sendCmdToSmtp:
SmtpCmdSent: RSET<crlf>
--sendCmdToSmtp
readSmtpResponse:
recvUntilMatch: Socket operation timeout.
--readSmtpResponse
--smtpSendGet2
--smtpRset
--sendWithPipelining
--sendSmtpEmail
--sendMimeInner
--sendEmailInner
Failed.
--SendEmail
--ChilkatLog
Everything seems ok, until it is time to send out the actual body of the email. Any ideas?
Thanks,
Gudfinnur Kristjansson
Your SMTP server seems to be responding to each pipelined command in reverse order. For example, if I send email via smtp.gmail.com, it works as it should:
sendWithPipelining:
sendMailFrom:
mailFrom: chilkat.support@gmail.com
sendCmdToSmtp:
SmtpCmdSent: MAIL FROM:<chilkat.support@gmail.com><crlf>
--sendCmdToSmtp
--sendMailFrom
sendRcptTo:
sendCmdToSmtp:
SmtpCmdSent: RCPT TO:<admin@chilkatsoft.com><crlf>
--sendCmdToSmtp
--sendRcptTo
sendCmdToSmtp:
SmtpCmdSent: DATA<crlf>
--sendCmdToSmtp
readSmtpResponse:
SmtpCmdResp: 250 2.1.0 OK i80sm5219011iod.6 - gsmtp
--readSmtpResponse
readRcptTo:
readSmtpResponse:
SmtpCmdResp: 250 2.1.5 OK i80sm5219011iod.6 - gsmtp
--readSmtpResponse
recipient: admin@chilkatsoft.com
--readRcptTo
readSmtpResponse:
SmtpCmdResp: 354 Go ahead i80sm5219011iod.6 - gsmtp
--readSmtpResponse
--sendWithPipelining
mimeDataSize: 347
sendDataToSmtp:
numBytesSent: 347
--sendDataToSmtp
sendCmdToSmtp:
SmtpCmdSent: <crlf>.<crlf>
--sendCmdToSmtp
readSmtpResponse:
SmtpCmdResp: 250 2.0.0 OK 1429223498 i80sm5219011iod.6 - gsmtp
--readSmtpResponse
--sendSmtpEmail
In both your case and mine, the order of commands is:
MAIL FROM
RCPT TO
DATA
The responses SHOULD be in this order:
250
250
354
(The 354 is the success response code for the DATA command)
Your SMTP server sends responses in reverse order:
354
250
250
Your SMTP server indicates it's doing pipelining, but it seems to be behaving incorrectly. I'll be adding a new property to explicitly turn off the pipelining feature in v9.5.0.49
Thanks for the quick response.
Yes, it all works fine in my development environment (HMailserver) but when I deploy to production (third party SMTP server), this problem comes up.
I'll be waiting for v9.5.0.49.
Gudfinnur Kristjansson