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