http://sane.justblog.jp/blog/2008/02/cakephpgmail-e5.htmlを参考にやってみたのですが
Warning (2): fsockopen() [function.fsockopen]: unable to connect to ssl://smtp.gmail.com:465 (Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP?)
このようなエラーが出てしまいました。
この原因もわからなかったのですが、とりあえず
$config['Gmail']['host'] = 'ssl://smtp.gmail.com';
を↓にすると、
$config['Gmail']['host'] = 'smtp.gmail.com';
最初に記述したエラーは消えたのですが、今度は
Notice (8): fputs() [function.fputs]: send of 16 bytes failed with errno=10054
~~~ここに文字化けしたような文字が並んでいる~~~~
[CORE\vendors\phpmailer\class.smtp.php, line 556]
このようなエラーが出てしまいます。
何が悪いのでしょうか。やりたいことはCakePHPからメール送信させることです。Gmailなどの外部smtpサーバを利用するのが一番簡単なように感じたのですが…しくみが理解できてないのかテコずってます。PHP.iniの設定なども必要なのでしょうか。(コメント欄に質問の補足があります)
ウノウラボ Unoh Labs: PHPでSSL通信する時の注意点
Gmail の SMTP サーバーは通常のものと違い SMTPS( SMTP over SSL )を使用する必要があります。
このためには、PHP 自体が SSL をサポートしている必要があるので、まずはそれを確認してください。
通信する際のプロトコル、及びラッパが使用可能かを調べます。この場合はhttps://(PHP4.3.0以降)が対象です。 phpinfo()ではRegisterd PHP Streamで確認できます。 SSL通信の場合OpenSSLがインストールされている必要があり、PHP4.3.0以降では静的にコンパイルされ組み込まれている必要がありますが、PHP5以降ではモジュールとしてコンパイルされていても使用できます。
試していませんが、SSL通信が許可されていないのではないでしょうか?
以下のURLが参考になるかと思います。
ありがとうございます。
php.iniにOpenSSLのextensionを追加したらできました。
ウノウラボ Unoh Labs: PHPでSSL通信する時の注意点
Gmail の SMTP サーバーは通常のものと違い SMTPS( SMTP over SSL )を使用する必要があります。
このためには、PHP 自体が SSL をサポートしている必要があるので、まずはそれを確認してください。
通信する際のプロトコル、及びラッパが使用可能かを調べます。この場合はhttps://(PHP4.3.0以降)が対象です。 phpinfo()ではRegisterd PHP Streamで確認できます。 SSL通信の場合OpenSSLがインストールされている必要があり、PHP4.3.0以降では静的にコンパイルされ組み込まれている必要がありますが、PHP5以降ではモジュールとしてコンパイルされていても使用できます。
ありがとうございます。
php.iniにOpenSSLのextensionを追加したらできました。
ありがとうございます。
php.iniにOpenSSLのextensionを追加したらできました。