17.12. SMTP Authentication
Prev | Chapter 17. Zend_Mail | Next

## 17.12. SMTP Authentication

`Zend_Mail` supports the use of SMTP Authentication, which can be enabled be passing the 'auth' parameter to the configuration array in the `Zend_Mail_Transport_Smtp` constructor. The available built-in Authentication methods are PLAIN, LOGIN and CRAM-MD5 which all expect a 'username' and 'password' value in the configuration array.

Example 17.9. Enabling authentication within 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);

| Authentication types
The authentication type is case-insensitive but has no punctuation. E.g. to use CRAM-MD5 you would pass 'auth' => 'crammd5' in the `Zend_Mail_Transport_Smtp` constructor.

Prev | Up | Next
17.11. Encoding | Home | 17.13. Securing SMTP Transport