質問

私はちょうど使い方を学び始めました SwiftMailer そして、私は私のローカルホストから簡単なテストメッセージを送信するのに苦労しています。以下は、私が使用しようとしているコードです。

//Pass it as a parameter when you create the message
$message = Swift_Message::newInstance();
$message->setSubject('My subject');
$message->setFrom(array('noreply@domain.com' => 'No Reply'));
$message->setTo(array('myemail@domain.com' => 'My Name'));

$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 25);
//Supposed to allow local domain sending to work from what I read
$transport->setLocalDomain('[127.0.0.1]');

$mailer = Swift_Mailer::newInstance($transport);
//Send the message
$result = $mailer->send($message);

これが私のエラーメッセージの一部です、

Warning:  fsockopen() [<a href='function.fsockopen'>function.fsockopen</a>]:php_network_getaddresses: getaddrinfo failed: Name or service not known in /path/Swift/Transport/StreamBuffer.php

アップデート

Gmailを使用して動作しました。 swift_smtptransport行を次のように変更しました。

$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')->setUsername('username')->setPassword('password');
役に立ちましたか?

解決

localhost 現在のマシンのエイリアスです(この場合、マシンPHPが実行されます)。あなたが本当にローカルホストでメールを送りたいなら、あなたはそう言っている:

$transport = Swift_SmtpTransport::newInstance('localhost', 25);

...ただし、独自のメールサーバーをインストールして構成する必要があります。これが何であるかわからない場合は、メールプロバイダーのSMTPサーバーを使用することをお勧めします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top