有没有办法让.NET Framework通过端口465上的SSL SMTP服务器发送电子邮件?
通常的方式:
System.Net.Mail.SmtpClient _SmtpServer = new System.Net.Mail.SmtpClient("tempurl.org");
_SmtpServer.Port = 465;
_SmtpServer.EnableSsl = true;
_SmtpServer.Credentials = new System.Net.NetworkCredential("username", "password");
_SmtpServer.Timeout = 5000;
_SmtpServer.UseDefaultCredentials = false;
MailMessage mail = new MailMessage();
mail.From = new MailAddress(from);
mail.To.Add(to);
mail.CC.Add(cc);
mail.Subject = subject;
mail.Body = content;
mail.IsBodyHtml = useHtml;
_SmtpServer.Send(mail);
Run Code Online (Sandbox Code Playgroud)
超时:
System.Net Verbose: 0 : [1024] SmtpClient::.ctor(host=ssl0.ovh.net, port=465)
System.Net Information: 0 : [1024] Associating SmtpClient#64923656 with SmtpTransport#44624228
System.Net Verbose: 0 : [1024] Exiting SmtpClient::.ctor() -> SmtpClient#64923656
System.Net Information: 0 : [1024] Associating MailMessage#17654054 …Run Code Online (Sandbox Code Playgroud) 此Go程序从我的家用计算机成功发送电子邮件,但在DigitalOcean上的虚拟服务器上收到以下错误:
panic: 530 5.5.1 Authentication Required. Learn more at
Run Code Online (Sandbox Code Playgroud)
这是代码:
auth := smtp.PlainAuth("", "bjorkbjorksen@gmail.com", "PASSWORD", "smtp.gmail.com")
msg := "Subject: Hello\r\n\r\nWorld!"
e = smtp.SendMail("smtp.gmail.com:587", auth, "bjorkbjorksen@gmail.com", []string{email}, []byte(msg))
if e != nil { panic(e) }
Run Code Online (Sandbox Code Playgroud) 我们有一个电子邮件帐户emailName@companyDomain.in,这是在Office365中配置的。我们想要使用 C# 中的emailName@companyDomain.in发送电子邮件。下面的代码有时有效,有时无效(大多数时候无效)。给出错误“无法从传输连接读取数据:net_io_connectionclose”。代码是
public static void SendEmail(string toEmailId, string subject, string mailMessage)
{
string fromEmail = "emailName@companyDomain.in";
MailMessage msg = new MailMessage();
msg.To.Add(toEmailId);
msg.From = new MailAddress(fromEmail, "Sender Name");
msg.Subject = subject;
msg.Body = mailMessage;
msg.IsBodyHtml = true;
SmtpClient client = new SmtpClient();
client.UseDefaultCredentials = false; // Tried by commenting this too
client.Credentials = new System.Net.NetworkCredential(fromEmail, "password");
client.Port = 587; // Tried port number 25
client.Host = "smtp.office365.com";
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.TargetName …Run Code Online (Sandbox Code Playgroud)