Lemme前綴,這個問題通過說我已經搜索了3天可以用來發送郵件的新gmail數據。Gmail和Swift郵件不再適用於
所以建立斯威夫特的交通時,我providing this
Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'tls')
而且也,而不是465,提供587沒有運氣。錯誤就像它開始運行一個無限循環,然後腳本執行停止。
數據(用戶名/密碼)是100%正確的,並且已經過隔離測試。 (假設test.php
包含Swift庫),如果有幫助的話。
具體來說:
<?php
// File:test.php
require(__DIR__ . '/vendor/SwiftMailer/swift_required.php');
$email = '[email protected]';
$pass = 'my-password';
$html = '<p>Foo bar</p>';
// Build a transport
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 587, 'tls')
->setUsername($email)
->setPassword($pass);
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance('New email')
->setFrom(array($email => 'Test app'))
->setTo(array($email))
->setBody($html, 'text/html');
$mailer->send($message);
它拋出:
未捕獲的異常 'Swift_TransportException' 有消息 '無法使用TLS加密連接'
而且使用時:
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')
它結束了無盡的循環。
厭倦了在谷歌搜索這個Gmail的問題。也許任何人都面臨這一點,並已有解決方案了?
嘗試在github上打開問題https://github.com/swiftmailer/swiftmailer/issues – Saqueib 2015-02-09 09:14:25
465正在使用ssl,而587正在使用tls。 (只需幾秒鐘即可查找google的相關文檔:https://support.google.com/a/answer/176600?hl = zh_CN)。從Swift文檔: 要使SSL或TLS加密起作用,您的PHP安裝必須具有適當的OpenSSL傳輸包裝。您可以通過使用PHP函數stream_get_transports() – 2015-02-09 09:21:24
@Markus no來檢查PHP安裝中是否存在「tls」和/或「ssl」,我已經提到,通過說厭倦了搜索這個問題,並且我已經遇到類似你的建議。我的問題是,它過去曾經工作過,但現在它不再有效。是的,我很清楚它需要tls或ssl,所以是的,他們被加載 – Yang 2015-02-09 09:38:16