我試圖使用Gmail的SMTP服務器在本地主機上使用Fat Free Framework發送電子郵件,但它不發送郵件。我也試圖使用F3 SMTP日誌記錄工具,但它什麼都不返回。使用Fat Free Framework和SMTP發送電子郵件
echo的輸出是:「電子郵件結果:未發送,mylog:,標題:不存在」。
我正在使用最新版本的F3,在本地主機上使用Apache 2.2和PHP 5.4。
$smtp = new SMTP ('smtp.gmail.com', 465, 'SSL', '[email protected]', 'mypass');
$smtp->set('From', '"Joe Bloggs" <[email protected]>');
$smtp->set('To', '<[email protected]>');
$smtp->set('Subject', 'Sent with the F3 SMTP plug-in');
$smtp->set('Errors-to', '<[email protected]>');
$message = 'it works';
$sent = $smtp->send($message, TRUE);
$mylog = $smtp->log();
$sentText = 'not sent';
$headerText = 'does not exist';
if ($sent)
{
$sentText = 'was sent';
}
if ($smtp->exists('Date'))
{
$headerText = 'exists';
}
echo "email result: " . $sentText . ",mylog: " . $mylog . ", header: " . $headerText;
您是否嘗試了另一個SMTP服務器?我很確定它不會與F3一起使用,因爲Gmail需要STARTTLS而不支持由F3墮落。 – sascha 2014-10-29 17:02:17
現在只是測試自己。它適用於465上的SSL和587端口上的TLS,但我必須激活https://support.google.com/accounts/answer/6010255上描述的「允許不太安全的應用程序」選項。 – ikkez 2014-10-29 17:22:27
雖然我真的不知道Google爲什麼阻止SSL/TLS,或者SMTP類中缺少這些內容。但STARTTLS在這裏支持 – ikkez 2014-10-29 17:23:14