To send emails using gmail’s smtp server, you must specify the tls port by providing the ‘ssl’ and ‘port’ in the config array. The default port for tls is 25 but gmail is using 587. You will also need to authenticate with your account and password.
Update: There’s a daily limit of outgoing emails you can send using this smtp, I experienced a problem of maxing my limit while sending out confirmation emails to the users of my facebook app. So if you are looking to do the same, just be warned that its a bad idea.
$config = array(
‘ssl’ => ‘tls’,
‘port’ => 587,
‘auth’ => ‘login’,
‘username’ => ‘sender@domain.com’,
‘password’ => ‘password’);
$transport = new Zend_Mail_Transport_Smtp(‘smtp.gmail.com’, $config);
//Use this if you do not want to specify $transport evertime you use Zend_Mail->send()
//Zend_Mail::setDefaultTransport($transport);
$mail = new Zend_Mail();
$mail->setBodyText(‘Email body in plain text’);
$mail->setBodyHtml(‘Email body in HTML’);
$mail->setFrom(‘sender@domain.com’, ‘Name of sender’);
$mail->setReplyTo(‘sender@domain.com’,'Name of sender’);
$mail->addTo(‘recipient@targetdomain.com’, ‘Name of recipient’ );
$mail->setSubject(‘Your trial at FItness First’);
$mail->send($transport);
You can use your own domain name using gmail’s coporate email service, if not, just use gmail.com for the domain.
Catch, gmail automatically replaces whatever ‘from’ or ‘reply-to’ you have specified with the account you are authenticating with (sender@domain.com). To use another account, you must allow gmail to send using that email address by following the steps here.