【问题标题】:Send unauthenticated Google SMTP message using Zend_Mail使用 Zend_Mail 发送未经身份验证的 Google SMTP 消息
【发布时间】:2015-11-30 20:13:21
【问题描述】:

我正在尝试为实时生产服务器编写一个 PHP 脚本,以检查 Google 帐户上开放 SMTP 中继设置的 IP 白名单是否正常工作。

由于服务器当前处于活动状态,我不想更改现有电子邮件解决方案的任何 /etc/postfix/main.cf 设置,并认为我会尝试编写一个可以独立测试的独立 Zend_Mail 脚本,但我很难让 Zend_Mail 确认没有登录凭据的 SMTP 连接。

我尝试了不同的变体

$domain = 'foo.bar.com';
$config = array('ssl' => 'tls', 'username' => 'noreply@bar.com');
$transport = new Zend_Mail_Transport_Smtp($domain, $config);

Zend_Mail::setDefaultTransport($transport);

$mail = new Zend_Mail();
$mail->setBodyText('This is the text of the mail.');
$mail->setFrom('noreply@bar.com', 'NoReply');
$mail->addTo('jono@gmail.com', 'jono');
$mail->setSubject('TestSubject');
$mail->send();

但它只会超时,我找不到任何有用的配置选项。

所以问题是,如果 IP 在 Gmail 设置中列入白名单,是否可以通过 Google SMTP 中继使用 Zend_Mail 发送邮件而不使用任何登录凭据?如果没有,是否有任何其他方法可以通过命令行或其他 PHP 库来执行此操作?

【问题讨论】:

    标签: php zend-framework smtp gmail google-apps


    【解决方案1】:

    尝试像这样更改您的 $config 数组:

    $config = array('ssl' => 'tls', 'port' => 587, 'auth' => 'login', 'username' => 'noreply@bar.com', 'password' => 'password');
    $smtpConnection = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $config);
    

    【讨论】:

    • 您是否将“smtp.gmail.com”保留在“new Zend_Mail_Transport_Smtp('smtp.gmail.com',$config);”行上?如果没有,请保持这样,不要将您的域改为。
    猜你喜欢
    • 2011-12-22
    • 1970-01-01
    • 1970-01-01
    • 2019-11-10
    • 2016-11-17
    • 2011-01-17
    • 1970-01-01
    • 2017-09-26
    • 2013-10-27
    相关资源
    最近更新 更多