Я пытаюсь использовать Swift Mailer для отправки электронной почты с приложением. Электронная почта не отправляется. Я довольно новичок в PHP, поэтому это может быть простая проблема, но я не могу понять это. Код:Swift Mailer не отправляет письмо
<?php
require_once 'swift/lib/swift_required.php';
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465)
->setUsername('my gmail address')
->setPassword('my gmail password')
;
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance()
->setSubject('subject')
->setFrom(array('[email protected]' => 'John Doe'))
->setTo(array('[email protected]' => 'Jane Doe'))
->setBody('body')
->attach(Swift_Attachment::fromPath('image.png'))
;
echo('test 1');
$numSent = $mailer->send($message);
echo('test 2');
printf("Sent %d messages\n", $numSent);
if ($mailer->send($message))
{
echo "Sent\n";
}
else {
echo "Failed\n";
}
?>
swift_required.php успешно включается. Мой тест 1 эхо работает, но тест 2 echo никогда не делает. Это заставляет меня думать, что проблема существует в переменной $ numSent. Конечно, проблема все еще очень широкая, но, надеюсь, это немного сужает ситуацию. Кроме того, ни одна из функций ниже $ numSent не работает, поэтому он не говорит мне, отправляется ли моя электронная почта или нет.
Выяснено, что вам нужно использовать 'tls: //smtp.gmail.com'.
Используйте [отладочную информацию, представленную в документации SwiftMailer] (http://swiftmailer.org/docs/sending.html#finding-out-rejected-addresses), а также [SwiftMailer Logger плагин] (http://swiftmailer.org/docs/plugins.html#logger-plugin), чтобы помочь вам сузить проблему. В общем, вам нужно научиться эффективно отлаживать ваш код (из того, что вы написали, похоже, что вы вообще не проводили отладочную работу). – esqew