【问题标题】:SMTP MAIL FROM AUTH= format to connect to gmailSMTP MAIL FROM AUTH= 格式连接到 gmail
【发布时间】:2014-03-26 16:28:45
【问题描述】:

我有一个较旧的 PHP 系统,它使用 SMTP 命令来发送邮件。我们正在切换到 gmail,我需要进行身份验证。我可以连接到服务器。不幸的是,我收到了 530-5.5.1 Authentication Required。当我在我的 PHP 代码中发送 MAIL FROM 命令时,请参阅“了解更多信息。

if (fputs($this->Socket,  "MAIL FROM: \"admin\" <admin@yourdomain.com>\r\n")<0){ 

我找不到添加身份验证的明确示例。我在http://www.faqs.org/rfcs/rfc2554.html 看到我必须将 AUTH= 添加到我的 MAIL FROM 命令中。我在解释要放入 AUTH 中的内容时遇到了麻烦=

Examples:
   C: MAIL FROM:<e=mc2@example.com> AUTH=e+3Dmc2@example.com
   S: 250 OK

你知道认证的格式吗?

【问题讨论】:

    标签: smtp smtp-auth


    【解决方案1】:

    有几种方法可以进行 SMTP 身份验证,但其中之一是使用 SMTP AUTH LOGIN 命令。会议记录如下所示:

    host: 220 banner_here
    client: EHLO StephaniePC
    host: 250-name.of.host hello [clientip], pleased to meet you
    host: 250-AUTH LOGIN PLAIN
    host: 250 OK
    client: AUTH LOGIN
    host: 334 VXNlcm5hbWU6
    client: am9lc21pdGg=
    host: 334 UGFzc3dvcmQ6
    client: bGV0bWVpbg0K
    host: 235 2.7.0 Authentication successful
    client: MAIL FROM: <sender@senderdomain.tld>
    host: 250 2.1.0 Ok
    client: RCPT TO: <recipient@recipientdomain.tld>
    host: 250 2.1.0 Ok
    client: DATA
    host: 354 End data with <CR><LF>.<CR><LF>
    ....
    

    您在上面看到的编码字符串是 base64 编码的。如果您有一个能够记录的邮件客户端,您可以尝试通过 gmail 发送消息,会话的脚本应该类似于上面的脚本。

    仅供参考,您可能希望使用phpmailer,而不是自己编写代码来进行 SMTP 身份验证。 phpmailer可以做SMTP认证,非常轻量级,好用。

    【讨论】:

      猜你喜欢
      • 2018-02-07
      • 2013-03-03
      • 2016-09-03
      • 2015-09-12
      • 2012-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-16
      相关资源
      最近更新 更多