c# - 发送邮件时出现 SMTP 服务器连接错误
问题描述
我在发送电子邮件时收到服务器错误。
SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应为:需要 5.7.0 身份验证。了解更多...
MailMessage message = new MailMessage();
using (var smtp = new SmtpClient())
{
message.From = new MailAddress("email");
message.To.Add(new MailAddress(toEmailAddress));
message.Subject = "Order Confirmation - Bahwan Electronics";
message.IsBodyHtml = true; //to make message body as html
message.Body = htmlString;
smtp.Port = 587;
smtp.Host = "smtp.gmail.com"; //for gmail host
smtp.EnableSsl = true;
smtp.UseDefaultCredentials = false;
smtp.Credentials = new NetworkCredential("email", "password");
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.Send(message);
return true;
}
我尝试了上面的代码,它在本地运行良好,但是当我将它托管在服务器中时,我遇到了错误。电子邮件中没有启用两因素身份验证,并且还启用了不太安全的应用程序。
我无法从先前针对同一问题提出的问题中找到任何解决方案。并尝试了所有解决方案。它在本地工作,但在托管它之后smtp.Send方法会引发错误。
解决方案
得到了上述问题的解决方案。
获取托管服务器的远程并使用我用来发送邮件的 emailId 登录到 gmail,然后在 gmail 上的审查用户活动中,我只是将该设备添加为“是的,它是我的”。
在那之后邮件开始工作..
推荐阅读
- numpy - 无法弄清楚为什么我会收到此错误。|TypeError: unsupported operationand type(s) for /: 'list' and 'int'
- javascript - 当文本区域的选择/光标位置发生变化时,是否有事件会告诉我?
- c# - 如何为单个 ListView 创建多个适配器?
- sql - 在 SQL Server 触发器中包含 If 语句?
- visual-studio-code - 从 Visual Studio Code 使用 WSL g++ 编译器 (Windows 10)
- python - 如何循环文本文件以创建值字符串
- python - 如何使用python在sql中的每10个新值之后打印一条消息?
- azure-devops - 如何在 Azure DevOps 的 yaml 中指定清理所有构建目录?
- ios - 有没有办法以声明的方式获取 UITextField 的文本更新?
- html - 在图像上淡入的点图案叠加