Programmer's Reference Guide
| Introduction |
Sending via SMTP
To send mail via SMTP, Zend_Mail_Transport_Smtp needs to be created and registered with Zend_Mail before the send() method is called. For all remaining Zend_Mail::send() calls in the current script, the SMTP transport will then be used:
Example #1 Sending E-Mail via SMTP
- $tr = new Zend_Mail_Transport_Smtp('mail.example.com');
- Zend_Mail::setDefaultTransport($tr);
The setDefaultTransport() method and the constructor of Zend_Mail_Transport_Smtp are not expensive. These two lines can be processed at script setup time (e.g., config.inc or similar) to configure the behavior of the Zend_Mail class for the rest of the script. This keeps configuration information out of the application logic - whether mail is sent via SMTP or » mail(), what mail server is used, etc.
| Introduction |
Add A Comment
Please do not report issues via comments; use the ZF Issue Tracker.
If you have a JIRA/Crowd account, we suggest you login first before commenting.
Select a Version
Languages Available
Components
Search the Manual
Navigation
- Programmer's Reference Guide
- Programmer's Reference Guide
- Zend Framework Reference
- Zend_Mail
- Introduction
- Sending via SMTP
- Sending Multiple Mails per SMTP Connection
- Using Different Transports
- HTML E-Mail
- Attachments
- Adding Recipients
- Controlling the MIME Boundary
- Additional Headers
- Character Sets
- Encoding
- SMTP Authentication
- Securing SMTP Transport
- Reading Mail Messages

Comments
$mail->setFrom('a@gmail.com', 'Server');
$mail->addTo($to, 'a@gmail.com');
$mail->setSubject($subject);
$mail->send();
Zend_Mail::setDefaultTransport($tr);
$mail = new Zend_Mail();
$mail->setBodyText($body);
{
$config = array('ssl' => 'tls', 'port' => 587, 'auth' => 'login', 'username' => 'username@gmail.com', 'password' => 'password');
$transport = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $config);
$mail = new Zend_Mail();
if (strtolower($this->getType()) == 'html')
$mail->setBodyHtml($this->getBody());
}
else {
$mail->setBodyText($this->getBody());
}
$mail
->setFrom($this->getFromEmail(), $this->getFromName())
->addTo($this->getToEmail(), $this->getToName())
->setSubject($this->getSubject());
$mail->send($transport);
return $this;
}