Zend_Mail で Gmail の SMTP サーバを使ってメールを送信する方法

基本は Zend Framework のマニュアル通り。

http://framework.zend.com/manual/ja/zend.mail.smtp-authentication.html

<?php
$host = 'smtp.gmail.com';
$config = array(
    'auth'     => 'login',
    'username' => 'yourname@gmail.com',
    'password' => 'yourpassword',
    'ssl'      => 'tls',
    'port'     => 587,
);

$tr = new Zend_Mail_Transport_Smtp($host, $config);
Zend_Mail::setDefaultTransport($tr);

default transport を設定した後は通常通り new Zend_Mail() とかして送信すればおk。

ちなみに設定は何通りか書ける。

<?php
$config = array(
    'auth'     => 'plain',  // login の代わりに plain でもOK
    'username' => 'yourname@gmail.com',
    'password' => 'yourpassword',
    'ssl'      => 'tls',
    'port'     => 587,
);
<?php
$config = array(
    'auth'     => 'login',
    'username' => 'yourname@gmail.com',
    'password' => 'yourpassword',
    'ssl'      => 'ssl',  // tls の代わりに ssl でもOK
    'port'     => 465,    // ssl の場合はポートを 465 にする
);

以下はNG集。

# NG
<?php
$config = array(
    'auth'     => 'login',
    'username' => 'yourname@gmail.com',
    'password' => 'yourpassword',
    'ssl'      => 'tls',
    'port'     => 465,
);
# NG
<?php
$config = array(
    'auth'     => 'login',
    'username' => 'yourname@gmail.com',
    'password' => 'yourpassword',
);