我没有依靠我的主机发送电子邮件,而是考虑使用我的Gmail帐户发送电子邮件。这些电子邮件是发给我在节目中演奏的乐队的个性化电子邮件。
有可能做到吗?
网友回答:
上面的答案不起作用。您必须进行设置,否则它将返回“客户端未经过身份验证”错误。此外,设置超时总是一个好主意。DeliveryMethod = SmtpDeliveryMethod.Network
修订后的代码:
using System.Net.Mail;
using System.Net;
var fromAddress = new MailAddress("from@gmail.com", "From Name");
var toAddress = new MailAddress("to@yahoo.com", "To Name");
const string fromPassword = "password";
const string subject = "test";
const string body = "Hey now!!";
var smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
Credentials = new NetworkCredential(fromAddress.Address, fromPassword),
Timeout = 20000
};
using (var message = new MailMessage(fromAddress, toAddress)
{
Subject = subject,
Body = body
})
{
smtp.Send(message);
}
网友回答:
请务必使用 ,而不是已弃用的 。使用SSL是一堆混乱的黑客扩展。System.Net.Mail
System.Web.Mail
System.Web.Mail
using System.Net;
using System.Net.Mail;
var fromAddress = new MailAddress("from@gmail.com", "From Name");
var toAddress = new MailAddress("to@example.com", "To Name");
const string fromPassword = "fromPassword";
const string subject = "Subject";
const string body = "Body";
var smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
};
using (var message = new MailMessage(fromAddress, toAddress)
{
Subject = subject,
Body = body
})
{
smtp.Send(message);
}
此外,请转到 Google 帐号>安全性页面,查看登录 Google >两步验证设置。
fromPassword
网友回答:
编辑 2022
自 30 年 2022 月 <> 日起,Google 将不再支持使用要求您仅使用用户名和密码登录 Google 帐号的第三方应用或设备。
但是您仍然可以通过您的Gmail帐户发送电子邮件。
现在只需使用此密码而不是您帐户的原始密码!
public static void SendMail2Step(string SMTPServer, int SMTP_Port, string From, string Password, string To, string Subject, string Body, string[] FileNames) {
var smtpClient = new SmtpClient(SMTPServer, SMTP_Port) {
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
EnableSsl = true
};
smtpClient.Credentials = new NetworkCredential(From, Password); //Use the new password, generated from google!
var message = new System.Net.Mail.MailMessage(new System.Net.Mail.MailAddress(From, "SendMail2Step"), new System.Net.Mail.MailAddress(To, To));
smtpClient.Send(message);
}
像这样使用:
SendMail2Step("smtp.gmail.com", 587, "youraccount@gmail.com",
"yjkjcipfdfkytgqv",//This will be generated by google, copy it here.
"recipient@barcodes.bg", "test message subject", "Test message body ...", null);
要使其他答案“从服务器”工作,请先为 Gmail 帐户中安全性较低的应用启用访问权限。这将在 30 年 2022 月 <> 日弃用
看起来最近谷歌改变了它的安全策略。评分最高的答案不再有效,直到您按照以下说明更改帐户设置: https://support.google.com/accounts/answer/6010255?hl=en-GB
截至 2016 年 <> 月,Google 再次更改了设置位置!
模板简介:该模板名称为【通过 Gmail 在 .NET 中发送电子邮件】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【C#】栏目查找您需要的精美模板。