通过 c#.net SmtpClient 发送电子邮件无法正常工作
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örter erstellen und verwalten.
Um Anwendungsspezifische Passwörter verwenden zu können, muss die 2-Faktor-Authentifizierung aktiviert sein.
我有这个代码,用于将电子邮件从 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örter erstellen und verwalten. Um Anwendungsspezifische Passwörter verwenden zu können, muss die 2-Faktor-Authentifizierung aktiviert sein.