20.12. SMTP 認証

Zend_Mail は SMTP 認証の使用をサポートしています。 これを使用するには、Zend_Mail_Transport_Smtp のコンストラクタに渡す設定配列で、パラメータ 'auth' を指定します。 組み込みの認証方式は PLAIN、LOGIN および CRAM-MD5 で、 これらはすべて、設定配列に 'username' および 'password' が指定されていることを想定しています。

例 20.9. Zend_Mail_Transport_Smtp での認証の有効化

<?php

require_once 'Zend/Mail.php';
require_once 'Zend/Mail/Transport/Smtp.php';

$config = array('auth' => 'login',
                'username' => 'myusername',
                'password' => 'password');

$transport = new Zend_Mail_Transport_Smtp('mail.server.com', $config);

$mail = new Zend_Mail();
$mail->setBodyText('This is the text of the mail.');
$mail->setFrom('sender@test.com', 'Some Sender');
$mail->addTo('recipient@test.com', 'Some Recipient');
$mail->setSubject('TestSubject');
$mail->send($transport);
[注意] 認証方式

認証方式は大文字小文字を区別しませんが、区切り文字は含めません。 たとえば CRAM-MD5 を使用する場合は、 Zend_Mail_Transport_Smtp のコンストラクタに渡す値は 'auth' => 'crammd5' となります。