[英]Sending an Email via c#.net SmtpClient doesn't work properly
我有这个代码,用于从 GMX 邮件发送电子邮件到 walla 邮件。
MailMessage mail = new MailMessage("yyy@gmx.com", "yyy@walla.com");
SmtpClient client = new SmtpClient();
client.Port = 25;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.EnableSsl = true;
client.Host = "mail.gmx.com";
mail.Subject = "A new account was registered: ";
mail.Body = string.Format("Username: {0}, Password: {1}", textBox1.Text, textBox2.Text);
try
{
client.Send(mail);
}
catch (SmtpException ex)
{
System.Windows.Forms.MessageBox.Show(ex.ToString());
}
每当我尝试运行该代码时,都会收到一个异常,提示我需要安全连接,但我已启用 SSL。 我做错了什么? 谢谢!
如 GMX 页面所述,使用 SSL/TLS 连接时必须使用端口 587: https : //help.gmx.com/en/applications/pop3.html
SmtpClient client = new SmtpClient();
client.Port = 587;
我认为您还应该使用邮件帐户的凭据将凭据设置为对 SMTP 客户端进行身份验证:
client.Credentials = new NetworkCredential("username", "password");
您需要在 gmx.net 上生成特定于应用程序的密码。 它需要启用 2factor-authentication。
转到 gmx.net > 设置 > 帐户 > 密码
这是来自网站的信息文本
Für die Nutzung externer E-Mail-Programme über POP3/IMAP oder die Einbindung Ihres GMX Kalenders/Adressbuchs (mit CalDav bzw. CardDav) in ein externes Programm, können Sie hier Anwendungsspezifische Passwörundverter Um Anwendungsspezifische Passwörter verwenden zu können, muss die 2-Faktor-Authentifizierung aktiviert sein。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.