C# 用于发送gmail邮件的asp.net代码
通过Gmail发送邮件的网络代码不起作用了,比如打开了不太安全的应用程序、强大的密码、有无应用程序密码、有无两步验证 编码:-C# 用于发送gmail邮件的asp.net代码,c#,asp.net,asp.net-mvc,gmail,mongodb-.net-driver,C#,Asp.net,Asp.net Mvc,Gmail,Mongodb .net Driver,通过Gmail发送邮件的网络代码不起作用了,比如打开了不太安全的应用程序、强大的密码、有无应用程序密码、有无两步验证 编码:- { var fromAddress = new MailAddress("doctor@gmail.com"); var fromPassword = "idntcare"; var toAddress = new MailAddress("thevarghese@gmail.com"); string s
{
var fromAddress = new MailAddress("doctor@gmail.com");
var fromPassword = "idntcare";
var toAddress = new MailAddress("thevarghese@gmail.com");
string subject = "subject";
string body = "body";
System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
};
using (var message = new MailMessage(fromAddress, toAddress)
{
Subject = subject,
Body = body
})
smtp.Send(message);
}
试着这样做
using (var message = new MailMessage(fromAddress, toAddress)
{
Subject = subject,
Body = body
smtp.Send(message);
})
或者试试这个
using (MailMessage mm = new MailMessage(from, emailTo))
{
var mailAddress = new MailAddress("address", "name for id");
mm.From = mailAddress;
mm.Subject = title;
mm.Body = HttpUtility.HtmlDecode(body);
mm.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
smtp.EnableSsl = true;
NetworkCredential NetworkCred = new NetworkCredential(from, password);
smtp.UseDefaultCredentials = false;
smtp.Credentials = NetworkCred;
smtp.Send(mm);
}
试试这个
MailMessage Msg = new MailMessage();
// Sender e-mail address.
Msg.From = new MailAddress("doctor@gmail.com");
// Recipient e-mail address.
Msg.To.Add("thevarghese@gmail.com");
Msg.Subject ="subject";
Msg.Body = "body";
// your remote SMTP server IP.
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.Credentials=new System.Net.NetworkCredential("user name","password");
smtp.EnableSsl = true;
smtp.Send(Msg);
试试这些,您可以使用端口号587或25。您所说的“它不工作”是什么意思?有什么问题?你有什么例外?我还发现代码中有两个问题:忘记了
代码>在使用代码之后。您不能在using
块之外使用message
。一旦执行,using(var message……….)将被释放。因此,smtp.Send(message)无法发送已处理的邮件。smtp服务器需要安全连接,或者客户端未通过身份验证。服务器响应为:5.5.1需要身份验证。我收到相同错误:SMTP服务器需要安全连接或客户端未经过身份验证。服务器的响应是:5.5.1身份验证要求我不明白为什么它不适合您。点击这个链接。我收到相同的错误:SMTP服务器需要安全连接,或者客户端未通过身份验证。服务器响应为:5.5.1需要身份验证我收到相同错误:SMTP服务器需要安全连接或客户端未经过身份验证。服务器响应为:5.5.1需要身份验证是的,您需要更改gmail中用于发送的某些设置(fromAddress)。请检查此链接
string fromAddress ="doctor@gmail.com";
string fromPassword = "idntcare";
string toAddress = "thevarghese@gmail.com";
using (MailMessage mm = new MailMessage(fromAddress, toAddress))
{
mm.Subject = subject;
mm.Body = body;
//attachment
if (fuAttachment.HasFile)
{
string FileName = Path.GetFileName(fuAttachment.PostedFile.FileName);
mm.Attachments.Add(new Attachment(fuAttachment.PostedFile.InputStream, FileName));
}
mm.IsBodyHtml = true;
System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.EnableSsl = true;
NetworkCredential NetworkCred = new NetworkCredential(email, password);
smtp.UseDefaultCredentials = true;
smtp.Credentials = NetworkCred;
smtp.Port = 587;
//smtp.Port = 25;
smtp.Send(mm);
ClientScript.RegisterStartupScript(GetType(), "alert", "alert('Email sent.');", true);
}