I wrote an example program by copying the code in this article to KB with a slight change in regard to user information. It uses the corrupted .NET library System.Web.Mail because the new System.Net.Mail does not support implicit SSL. I went and tested it with a Google smtp server on port 465, which is their implicit mail port, and everything works. However, when I gave this to the client to check it on my network, nothing is received sent / received, here is the error:
2013-03-07 15:33:43 - The transport failed to connect to the server. 2013-03-07 15:33:43 - at System.Web.Mail.SmtpMail.LateBoundAccessHelper.CallMethod(Object obj, String methodName, Object[] args) 2013-03-07 15:33:43 - at System.Web.Mail.SmtpMail.CdoSysHelper.Send(MailMessage message) 2013-03-07 15:33:43 - at System.Web.Mail.SmtpMail.Send(MailMessage message)
I am not very well versed when it comes to SSL email, so my possible theory explains the main reason:
Assuming it uses the correct SMTP server and the right port (SSL port), I wonder if it could be the cause of any of the following reasons:
They use SSL on the mail server, but it does not have a certificate installed on the computer where it runs my program, even if it is in the same domain and uses the same email domain as the sender.
They use SSL, but they may use NTLM or anonymous authentication, while my program uses basic authentication.
Sorry if I provide a little information, because I myself am quite a stranger in this area, so I am still researching more.
Do you know of any steps that I can take at the end so that my little test program can send an implicit SSL email server using the SMTP server?
Edit: I added the following line to my code to indicate that I am using SSL.
oMsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", "true");
Fylix source share