2016-09-06 269 views
0

我正尝试使用Gmail SMTP服务器发送电子邮件,但邮件始终无法发送。浏览器窗口关闭,Express for Web闪烁显示此错误。任何帮助将不胜感激。 代码已被列入下面Gmail Smtp消息无法发送。

代码隐藏

using System.Net.Mail; 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

public partial class Demos_email_demo : System.Web.UI.Page 
{ 
protected void Page_Load(object sender, EventArgs e) 
{ 
    MailMessage myMessage = new MailMessage(); 
    myMessage.Subject = "Test Message"; 
    myMessage.Body = "Hello World"; 
    myMessage.From = new MailAddress("[email protected]", "Will"); 
    myMessage.To.Add(new MailAddress("[email protected]", "Will")); 



    SmtpClient mySmtpClient = new SmtpClient("smtp.gmail.com"); 
    mySmtpClient.Send(myMessage); 


} 
} 

的Web.Config

<system.web> 
    <compilation debug="true" targetFramework="4.5.2" /> 
    <httpRuntime targetFramework="4.5.2" /> 
</system.web> 
<system.net> 
<mailSettings> 
<smtp deliveryMethod="Network" from="Will &lt;[email protected]&gt;"> 
<network host ="smtp.gmail.com" enableSsl="true" port="465" /> 
</smtp> 
</mailSettings> 
</system.net> 
</configuration> 

Screenshot Of Error

+1

尝试在SMTP设置这样的新SmtpClient(“smtp.gmail.com”,587)expicitlely设置端口.....你甚至可能需要使用using语句,并设置SSL和诸如此类(var smtp = new SmtpClient())var credential = new NetworkCredential {UserName =“[email protected]”,//替换为有效值 Password =“qwerty123456”//替换为有效值 }; smtp.Credentials =凭证; smtp.Host =“smtp.gmail.com”; smtp.Port = 587; smtp.EnableSsl = true; smtp.Send(message);} –

+0

您还需要设置您的Gmail帐户以允许使用smtp。 https://www.google.com/search?q=set+gmail+account+to+allow+smtp&ie=&oe= –

回答

0

你需要设置的NetworkCredential筛选。

client.Credentials = new NetworkCredential(“username”,“password”);

您的代码应该是这样的。

MailMessage myMessage = new MailMessage(); 
    myMessage.Subject = "Test Message"; 
    myMessage.Body = "Hello World"; 
    myMessage.From = new MailAddress("[email protected]", "Will"); 
    myMessage.To.Add(new MailAddress("[email protected]", "Will")); 

    SmtpClient mySmtpClient = new SmtpClient("smtp.gmail.com"); 
    mySmtpClient .Credentials=new NetworkCredential("username", "password"); 

    mySmtpClient.Send(myMessage); 
+0

这绝对让我处于某个地方,但Google现在会阻止正在发送的电子邮件(即使启用了IMAP) –

+1

允许访问您的Gmail帐户中安全性较低的应用。 https://support.google.com/accounts/answer/6010255?hl=zh-CN –

+0

Asp.net现在引发以下错误“无法从传输连接读取数据:net_io_connectionclosed。” –