WordPressのPHPはGmailのSMTPの設定に対応していない。簡単にエラーを回避するためにはプロバイダー提供のメールアドレスなどに変更してやるのが良いだろう。今回はWordPressでもGmail(もしくはGmailサーバー利用してメール送受信しているアドレス)が使えるように対応する。
私の場合、ドメインメールをGoogle Appsで管理しているため、Gmailサーバーを使っている私にとって他社メールアドレスを使うなど不便きわまりない!
コードを書き換えてGmailサーバーに対応する
wp-includes/pluggable.phpの書き換え
wp-includes/pluggable.phpをFTPソフトでダウンロードし、テキストエディタで開く。
$phpmailer->IsMail();
を以下のように書き換える。
$phpmailer->IsSMTP();
書き換えが終わったらアップロードしてファイルを書き換える。
wp-includes/class-phpmailer.phpの書き換え
同様に、wp-includes/class-phpmailer.phpをエディタで開き、SMTP設定の変数を次のように変更する。
///////////////////////////////////////////////// // PROPERTIES FOR SMTP //////////////////////////////////////////////////** * Sets the SMTP hosts. All hosts must be separated by a * semicolon. You can also specify a different port * for each host by using this format: [hostname:port] * (e.g. "smtp1.example.com:25;smtp2.example.com"). * Hosts will be tried in order. * @var string */ var $Host = 'smtp.gmail.com';/** * Sets the default SMTP server port. * @var int */ var $Port = 465; /** * Sets the SMTP HELO of the message (Default is $Hostname). * @var string */ var $Helo = ''; /** * Sets connection prefix. * Options are "", "ssl" or "tls" * @var string */ var $SMTPSecure = "ssl"; /** * Sets SMTP authentication. Utilizes the Username and Password variables. * @var bool */ var $SMTPAuth = true; /** * Sets SMTP username. * @var string */ var $Username = 'hogehoge@gmail.com'; // <= Google Appsのメールアドレス /** * Sets SMTP password. * @var string */ var $Password = 'hogehoge'; // <= パスワード
書き換え後の注意点
WordPressから送信されるメールは$Usernameで指定したメールアドレスから送信される仕組みに変わるので、自分から自分に…みたいなアドレスでメールが届くことになる。
コメント