解决 net中使用gmail com邮箱进行Smtp发送信件时失败的问题

                我经常使用免费的gmail.com邮箱,因为它容量较大,但我们在使用.net编程实现邮件发送时,常会出现我们意想不到的错误。最常见的就是:

(1)The operation has timed out.
(2)出现类似提示:
"The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.0 Must issue a STARTTLS command first ...."

 出现此类错误的主要原因是:
(1)POP的设置不对;
(2)SmtpClient的UseDefaultCredentials,Credentials,EnableSsl设置不正确所引起。

 首先,需要进入gmail.com邮箱,进行"
转发和 POP/IMAP"的选项设置。如下图:
Gmail的Pop设置
然后,在你的Smtp程序中设置以下几项即可:
            // 创建 SmtpClient 以发送 Email
            SmtpClient client = new SmtpClient();

            MailMessage message = new MailMessage();

            // 设置发信人的EMAIL地址
            message.From = new MailAddress(fromAddress);

            // 设置收信人的EMAIL地址
            message.To.Add(toAddress);
            // 设置回复的EMAIL地址
            message.ReplyTo = new MailAddress(replyToAddress);

            // 设置抄送的EMAIL地址

            // message.CC.Add(ccAddress);
            // message.Bcc.Add(bccAddress);

            // 设置发信主题及内容

            message.Subject = msgSubject;
            
message.Body = body;
            message.IsBodyHtml = isHtmlBody;
            // 设置SMTP host及端口
            client.Host = "smtp.gmail.com";
            client.Port = 25;
            client.UseDefaultCredentials = false;
            System.Net.NetworkCredential basicAuthenticationInfo = new System.Net.NetworkCredential(fromAddress, smtpPassword);
            client.Credentials = basicAuthenticationInfo;
            client.EnableSsl = true;
            client.Send(message);

祝程序发送给你带来快乐享受!

           
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值