如何通过Gmail使用C#发送电子邮件

强尼

尝试通过Web服务发送电子邮件时出现错误。我尝试过启用不安全的应用程序访问权限,从而禁用两步验证并通过网络浏览器登录帐户。SO的所有解决方案都没有对我有用。我仍然得到:

错误:System.Net.Mail.SmtpException:SMTP服务器需要安全连接,或者客户端未通过身份验证。服务器响应为:5.5.1需要身份验证。

我该怎么做才能解决此问题?

namespace EmailService
{
    public class Service1 : IService1
    {    
        public string SendEmail(string inputEmail, string subject, string body)
        {
            string returnString = "";
            try
            {
                MailMessage email = new MailMessage();
                SmtpClient smtp = new SmtpClient();
                smtp.Host = "smtp.gmail.com";

                // set up the Gmail server
                smtp.EnableSsl = true;
                smtp.Port = 587;
                smtp.Credentials = new System.Net.NetworkCredential("[email protected]", "mypassword");
                smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
                smtp.UseDefaultCredentials = false;

                // draft the email
                MailAddress fromAddress = new MailAddress("[email protected]");
                email.From = fromAddress;
                email.To.Add(inputEmail);
                email.Subject = body;
                email.Body = body;

                smtp.Send(email);

                returnString = "Success! Please check your e-mail.";
            }
            catch(Exception ex)
            {
                returnString = "Error: " + ex.ToString();
            }
            return returnString;
        }
    }
}
埃格巴尔·索哈比(Eghbal Sohrabi)

只需走到这里:安全性较低的应用程序,使用您的电子邮件和密码登录即可使用c#代码发送邮件,然后选择Turn On

另外,请转到此链接,然后单击继续 允许访问您的Google帐户

我也编辑一下:

public string sendit(string ReciverMail)
{
    MailMessage msg = new MailMessage();

    msg.From = new MailAddress("[email protected]");
    msg.To.Add(ReciverMail);
    msg.Subject = "Hello world! " + DateTime.Now.ToString();
    msg.Body = "hi to you ... :)";
    SmtpClient client = new SmtpClient();
    client.UseDefaultCredentials = true;
    client.Host = "smtp.gmail.com";
    client.Port = 587;
    client.EnableSsl = true;
    client.DeliveryMethod = SmtpDeliveryMethod.Network;
    client.Credentials = new NetworkCredential("[email protected]", "YourPassword");
    client.Timeout = 20000;
    try
    {
       client.Send(msg);
        return "Mail has been successfully sent!";
    }
    catch (Exception ex)
    {
        return "Fail Has error" + ex.Message;
    }
    finally
    {
       msg.Dispose();
    }
}

如果以上代码无效,请尝试将其更改为以下代码:

    SmtpClient client = new SmtpClient();
    client.Host = "smtp.gmail.com";
    client.Port = 587;
    client.EnableSsl = true;
    client.DeliveryMethod = SmtpDeliveryMethod.Network;
    client.UseDefaultCredentials = false;
    client.Credentials = new NetworkCredential("[email protected]", "YourPassword");

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

C#通过Gmail帐户发送电子邮件

使用C#通过Gmail SMTP服务器发送电子邮件

如何通过Gmail API发送电子邮件?走

无法使用Java通过Gmail发送电子邮件

如何使用Python使用Gmail发送电子邮件

通过 gmail c# 发送电子邮件错误 #10051 网络无法访问

如何使用Gmail API快速发送电子邮件

如何使用 nodemailer 和 gmail 发送电子邮件?

如何使用Gmail REST API发送电子邮件

如何通过Java应用程序使用GMail,Yahoo或Hotmail发送电子邮件?

如何使用Python作为提供者通过Gmail发送电子邮件?

如何使用Gmail / Yahoo / Outlook通过Smalltalk应用程序发送电子邮件

通过C#发送电子邮件

如何通过 PowerShell 使用 MailKit 发送电子邮件?

如何使用PHP通过SMTP发送电子邮件

C#Win。表格-如何使用安全的Gmail ID发送电子邮件?

从C#发送电子邮件

Bot Framework - 通过 Directline C# Bot 发送电子邮件的电子邮件通道

如何使用crm通过简单的电子邮件地址发送电子邮件

春季:通过Gmail发送电子邮件

通过gmail和python发送电子邮件

Spring Boot-通过Gmail发送电子邮件

Python,通过Gmail发送电子邮件

通过 SMTP 向 Gmail 帐户发送电子邮件

通过Gmail API发送电子邮件(JavaScript)

通过Gmail在.NET中发送电子邮件

通过Gmail发送电子邮件时出错

通过 gmail 发送电子邮件,无需其他邮件服务器,使用 postfix

如何使用 gmail SMTP 从 GoDaddy Linux VPS 发送电子邮件,以便保存发送的电子邮件