2

嗨,我在尝试设置发送电子邮件时卡住并不断出错。

这是我的 using.system:

using System.Net;
using System.Web;
using System.Net.Mail;

然后我在我的发送电子邮件按钮中有这个代码。

private void BtnEmail_Click(object sender, EventArgs e)
        {


            try
            {
                string to = "myEmail@gmail.com";
                string from = "myEmail@gmail.com";
                string subject = "Test email";
                string body = @"This is a test email";


                MailMessage mail = new MailMessage(from, to, subject, body);
                SmtpClient client = new SmtpClient("smtp.gmail.com");
                client.Credentials = new NetworkCredential ("myEmail@gmail.com", "myPassword");
                client.Port = 587;
                client.EnableSsl = true;
                client.Send(mail);
                MessageBox.Show("Mail Sent", "Success", MessageBoxButtons.OK);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + "\n\n" + ex.GetType().ToString() + "\n\n" + ex.StackTrace, "Exception");
            }
        }

看起来异常正在通过“client.send(mail);” 线。

捕获异常消息是:发送邮件失败.. System.Net.Mail.SmtpException。

知道这里出了什么问题吗?谢谢。

4

3 回答 3

0

首先你需要了解这个问题的原因,你可以使用SMTPDIAG工具来解决这个问题。

尝试使用 SSL 的端口 465 或 25,因为端口 587 应该与 TLS 一起使用。

查看 Google 文档:https ://support.google.com/mail/answer/78775?hl=en 。

检查您的防火墙和以太网防火墙,端口可能已关闭。

于 2013-10-26T21:02:26.373 回答
0

我遇到了同样的问题,因为谷歌阻止了这类不太安全的邮件。检查您在代码中使用的邮件。如果你从谷歌收到一封邮件说允许访问不太安全的应用程序,你可以打开它。现在您将开始接收邮件。

于 2017-01-01T21:07:46.217 回答
-1

将端口 465 用于 gmail。587 将无法正常工作。

于 2013-10-26T21:01:56.260 回答