Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过gmail发送Asp.Net电子邮件_Asp.net_Email_Iis_Smtp_Gmail - Fatal编程技术网

通过gmail发送Asp.Net电子邮件

通过gmail发送Asp.Net电子邮件,asp.net,email,iis,smtp,gmail,Asp.net,Email,Iis,Smtp,Gmail,我正在尝试使用下面的代码和配置从ASP.Net通过GMail发送电子邮件。不幸的是,它似乎不起作用,也没有抛出错误消息。服务器日志或邮件IIS邮件文件夹中没有任何内容,我甚至检查了发件人地址的垃圾箱,查看邮件是否在那里结束。任何帮助都将不胜感激 C#部分 public void SendFeedback() { string emailFrom = this.Email.Text; MailMessage message = new MailMe

我正在尝试使用下面的代码和配置从ASP.Net通过GMail发送电子邮件。不幸的是,它似乎不起作用,也没有抛出错误消息。服务器日志或邮件IIS邮件文件夹中没有任何内容,我甚至检查了发件人地址的垃圾箱,查看邮件是否在那里结束。任何帮助都将不胜感激

C#部分

    public void SendFeedback()
    {
        string emailFrom = this.Email.Text;

        MailMessage message = new MailMessage();
        // here is an important part:
        message.From = new MailAddress(emailFrom, "Mailer");
        // it's superfluous part here since from address is defined in .config file
        // in my example. But since you don't use .config file, you will need it.
        message.Subject = "www.gumpshen.com - Website Query";
        message.IsBodyHtml = true;
        message.Body = string.Format(" Name = {0}, Phone = {1}", Name.Text, Phone.Text);
        message.Body += Environment.NewLine;
        message.Body += Environment.NewLine;
        message.Body += ProjectDetails.Text; ;

        var client = new SmtpClient();

        try
        {
            client.Send(message);
这是配置部分:

<system.net>
  <mailSettings>
    <smtp from="myEmail@gmail.com" deliveryMethod="Network" >
      <network host="smtp.gmail.com" port="587" 
        userName="myEmail@gmail.com" password="myPassword"/>
    </smtp>
  </mailSettings>
</system.net>

您需要
客户端。EnableSsl=true

检查此站点中的代码:

下面是一个关于如何使用Google帐户从ASP.NET页面发送HTML电子邮件的示例。 (此设置可轻松用于通过任何其他需要身份验证的SMTP服务器发送邮件)。 注意:代码段假定您在页面上有一个名为lblMsg的标签组件,该组件将显示 发送电子邮件给用户的成功/失败消息。 (但这很容易改变)

SmtpClient=new SmtpClient();
client.DeliveryMethod=SmtpDeliveryMethod.Network;
client.enablesl=true;
client.Host=“smtp.gmail.com”;
client.Port=587;
//设置Smtp身份验证
System.Net.NetworkCredential凭据=
新System.Net.NetworkCredential(“您的_account@gmail.com“,“您的密码”);
client.UseDefaultCredentials=false;
client.Credentials=凭证;
MailMessage msg=新的MailMessage();
msg.From=新邮件地址(“您的_account@gmail.com");
msg.To.Add(新邮件地址(“目的地”)_address@someserver.com"));
msg.Subject=“这是一个测试电子邮件主题”;
msg.IsBodyHtml=true;
msg.Body=string.Format(“测试HTML电子邮件”);
尝试
{
client.Send(msg);
lblMsg.Text=“您的邮件已成功发送。”;
}
捕获(例外情况除外)
{
lblMsg.ForeColor=颜色。红色;
lblMsg.Text=“发送邮件时出错。”+例如邮件;
}

我将其托管在虚拟专用服务器上,这可能与我在IIS7中配置SMTP邮件的方式有关,但我刚刚运行了向导。找不到
   SmtpClient client = new SmtpClient();
   client.DeliveryMethod = SmtpDeliveryMethod.Network;
   client.EnableSsl = true;
   client.Host = "smtp.gmail.com";
   client.Port = 587;

   // setup Smtp authentication
   System.Net.NetworkCredential credentials = 
       new System.Net.NetworkCredential("your_account@gmail.com", "yourpassword");
   client.UseDefaultCredentials = false;
   client.Credentials = credentials;                

   MailMessage msg = new MailMessage();
   msg.From = new MailAddress("your_account@gmail.com");
   msg.To.Add(new MailAddress("destination_address@someserver.com"));

   msg.Subject = "This is a test Email subject";
   msg.IsBodyHtml = true;
   msg.Body = string.Format("<html><head></head><body><b>Test HTML Email</b></body>");

   try
   {
       client.Send(msg);
       lblMsg.Text = "Your message has been successfully sent.";
   }
   catch (Exception ex)
   {
       lblMsg.ForeColor = Color.Red;
       lblMsg.Text = "Error occured while sending your message." + ex.Message;
   }