通过Gmail发送Sitecore电子邮件

时间:2010-09-16 07:21:56

标签: gmail sitecore

我正在尝试让Sitecore通过gmail帐户发送邮件,但它无法正常工作。 这是我在web.config中的设置:

  <setting name="MailServer" value="smtp.gmail.com" />
  <!--  MAIL SERVER USER
        If the SMTP server requires login, enter the user name in this setting
  -->
  <setting name="MailServerUserName" value="adress@gmail.com" />
  <!--  MAIL SERVER PASSWORD
        If the SMTP server requires login, enter the password in this setting
  -->
  <setting name="MailServerPassword" value="secret" />
  <!--  MAIL SERVER PORT
        If the SMTP server requires a custom port number, enter the value in this setting.
        The default value is: 25
  -->
  <setting name="MailServerPort" value="587" />

这是日志中的错误:

6068 09:14:57 ERROR Failed to send analytics report
Exception: System.Net.Mail.SmtpException
Message: The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.0 Must issue a STARTTLS command first.     u9sm3416817eeh.17
Source: System
at System.Net.Mail.MailCommand.CheckResponse(SmtpStatusCode statusCode, String response)
at System.Net.Mail.MailCommand.Send(SmtpConnection conn, Byte[] command, String from)
at System.Net.Mail.SmtpTransport.SendMail(MailAddress sender, MailAddressCollection recipients, String deliveryNotify, SmtpFailedRecipientException& exception)
at System.Net.Mail.SmtpClient.Send(MailMessage message)
at Sitecore.MainUtil.SendMail(MailMessage message)
at Sitecore.Analytics.Reports.ReportMailer.Mail(String exportedReportFileName, IEnumerable`1 recipients, String reportTitle, Boolean embedFile, Boolean deleteFile)

我知道它与gmail有关,需要某种安全连接,但我如何让Sitecore提供这个呢?

4 个答案:

答案 0 :(得分:2)

  

消息:SMTP服务器需要安全连接,或者客户端未经过身份验证。服务器响应为:5.7.0必须首先发出STARTTLS命令。

gmail需要TLS连接。可以尝试查看stunnel

无论如何,serverfault或superuser.com可能更合适。

答案 1 :(得分:2)

在8.2更新4中(不知道以前的更新/发布)有一个特殊的设置:

<setting name="MailServerUseSsl" value="true" />

答案 2 :(得分:1)

Sitecore.MainUtil中的SendMail函数没有将SmtpClient.EnableSsl设置为True的选项。目前,您似乎需要找到另一个要使用的SMTP服务器。

您可能希望将此记录为Sitecore的功能请求。

答案 3 :(得分:0)

我使用具有STARTTLS功能的电子邮件广告系列模块成功连接到GMAIL。 以下是我的设置:

     <!--Set it to "true" if you want use the SMTP settings below. You should purchase the right of using the "UseLocalMTA" setting first.-->
     <setting name="UseLocalMTA" value="true" />
     <setting name="SMTP.Server" value="smtp.gmail.com" />
     <setting name="SMTP.Port" value="587" />
     <setting name="SMTP.LoginDomain" value="" />
     <setting name="SMTP.UserName" value="user@gmail.com" />
     <setting name="SMTP.Password" value="12345" />
     <setting name="SMTP.AuthMethod" value="PLAIN" />
     <setting name="SMTP.StartTLS" value="true" />