首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >MailMessage System.Net.Mail.SmtpException,尝试通过C#表单发送电子邮件时出错

MailMessage System.Net.Mail.SmtpException,尝试通过C#表单发送电子邮件时出错
EN

Stack Overflow用户
提问于 2013-10-27 04:44:46
回答 3查看 16.2K关注 0票数 2

嗨,我卡住了,并不断得到错误时,试图设置发送电子邮件。

这是我的using.system:

代码语言:javascript
复制
using System.Net;
using System.Web;
using System.Net.Mail;

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

代码语言:javascript
复制
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(邮件);”行完成的。

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

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

EN

回答 3

Stack Overflow用户

发布于 2013-10-27 05:02:26

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

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

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

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

票数 0
EN

Stack Overflow用户

发布于 2017-01-02 05:07:46

我也面临着同样的问题,因为谷歌屏蔽了这些不太安全的邮件。检查您在代码中使用的邮件。如果你收到一封来自谷歌的邮件,说允许访问不太安全的应用程序,你可以打开它。现在,您将开始接收邮件。

票数 0
EN

Stack Overflow用户

发布于 2013-10-27 05:01:56

gmail使用端口465。587将不起作用。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19611707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档