当前位置: 首页 > 知识库问答 >
问题:

使用live/gmail smtp发送电子邮件

何长恨
2023-03-14

我正在使用C#使用SMTP和gmail服务器发送电子邮件。

下面是我用于发送电子邮件的代码。我遇到了一些错误,即。

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

    public static bool SendEmail(string from, string[] to, string[] cc, string[] bcc, string subject, string body, bool isBodyHtml, List<Attachment> attachmentList)
    {
        try
        {
            var mailMessage = new MailMessage();
            var smtpClient = new SmtpClient();

            mailMessage.From = new MailAddress(from);
            mailMessage.To.Add(new MailAddress(string.Join(",", to)));

            if (cc != null && cc.Any())
            {
                mailMessage.CC.Add(new MailAddress(string.Join(",", cc)));
            }

            if (bcc != null && bcc.Any())
            {
                mailMessage.Bcc.Add(new MailAddress(string.Join(",", bcc)));
            }

            mailMessage.Subject = subject;
            mailMessage.Body = body;
            mailMessage.IsBodyHtml = isBodyHtml;

            if (attachmentList != null)
            {
                foreach (var attachment in attachmentList)
                {
                    mailMessage.Attachments.Add(attachment);
                }
            }

            smtpClient.Host = "smtp.gmail.com";
            smtpClient.Port = 587; //465
            smtpClient.Credentials = new System.Net.NetworkCredential("username@email.com", "passsword");
            smtpClient.EnableSsl = true;
            smtpClient.Send(mailMessage);

            return true;
        }
        catch (Exception ex)
        {
            return false;
        }
    }

我做错了什么?我如何使用gmail发送电子邮件。

共有2个答案

弘涛
2023-03-14

如果您确定您的用户名和密码是正确的,并且您仍然收到错误,那么这意味着Gmail已阻止您的应用程序

尝试从这里打开它授予访问不太安全的应用程序的权限

国兴贤
2023-03-14

您尚未将UseDefaultCredentials设置为false,因此,尽管您提供了凭据,应用程序仍在尝试使用windows凭据登录SMTP。请尝试以下操作:

smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = new System.Net.NetworkCredential("username@email.com", "passsword");

在设置新的网络凭据之前,需要将false设置为

 类似资料:
  • 问题内容: 如何使用curl命令行程序从gmail帐户发送电子邮件? 我尝试了以下方法: 使用file.txt作为电子邮件的内容,但是,当我运行此命令时,出现以下错误: 是否可以从仍由curl托管的个人服务器托管帐户发送电子邮件?这样会使身份验证过程更容易吗? 问题答案: curl –url 'smtps://smtp.gmail.com:465’ –ssl-reqd \ –mail-from '

  • 问题内容: 我正在尝试使用Java发送电子邮件: 我收到错误消息: 此代码可以发送电子邮件吗? 问题答案: 户名+密码不再是推荐的解决方案。这是因为 我尝试了此操作,Gmail向该代码中用作用户名的电子邮件发送了一封电子邮件,其中说我们最近阻止了你的Google帐户的登录尝试,并将我定向到此支持页面:support.google.com/accounts/answer/6010255因此它看起来很

  • 问题内容: 这有点令人困惑,所以请在这里忍受… 我想建立一个系统,使用户可以通过我的网站发送模板化的电子邮件,但实际上并没有使用我的服务器发送它- 它只是打开自己的本地邮件客户端,并准备发送电子邮件。该应用程序将使用预定义的变量填充电子邮件的正文,以节省用户必须自己键入的电子邮件。然后,如果该消息不完全适合其目的,则他们可以根据需要编辑该消息。 我有很多理由希望它通过用户的本地邮件客户端,因此让服

  • 它显示以下错误: JasperException:处理JSP页面/assignment3/send_email.JSP第132 129行时发生异常:Message Message=new MimeMessage(session1);130:131://Set FROM:header标头字段。132:message.setFrom(新InternetAddress(from));133:134://

  • 问题内容: 如何使用Python在电子邮件中发送HTML内容?我可以发送简单的文字。 问题答案: 这是一个如何使用替代纯文本版本创建HTML消息的示例:

  • 问题内容: 我已经在ES6中使用React.js构建了一个Web应用程序。我目前要创建一个基本的“联系我们”页面,并希望发送电子邮件。我是React的新手,只是发现我实际上不能使用React本身发送电子邮件。我正在使用,但在将示例代码与我的React文件集成时遇到了一些困难。具体来说,调用是可行的,但是我不知道如何将其链接到我的React前端。 Nodemailer:https://github.