2012-10-08 21 views

回答

17

對我來說,這與谷歌的應用程序的郵件地址工作

config/autoload/mail.local.php

return array(
'mail' => array(
    'transport' => array(
     'options' => array(
      'host'    => 'smtp.gmail.com', 
      'connection_class' => 'plain', 
      'connection_config' => array(
       'username' => '[email protected]', 
       'password' => '', 
       'ssl' => 'tls' 
      ), 
     ), 
    ), 
), 
); 

Module.php

public function getServiceConfig() 
{ 
    return array(
     'factories' => array(
      'mail.transport' => function (ServiceManager $serviceManager) { 
       $config = $serviceManager->get('Config'); 
       $transport = new Smtp();     
       $transport->setOptions(new SmtpOptions($config['mail']['transport']['options'])); 

       return $transport; 
      }, 
     ), 
    ); 
} 

,並在控制器

$transport = $this->getServiceLocator()->get('mail.transport'); 

我希望這個代碼將是有用的人:d

1
Try: 
$objEmail = new \Zend\Mail\Message(); 
$objEmail->setBody('Message here'); 
$objEmail->setFrom('[email protected]', 'From'); 
$objEmail->addTo('[email protected]', 'To'); 
$objEmail->setSubject('Subject here'); 
// Setup SMTP transport using PLAIN authentication over TLS 
$transport = new \Zend\Mail\Transport\Smtp(); 
$options = new \Zend\Mail\Transport\SmtpOptions(array(
    'name' => 'smtp.gmail.com', 
    'host' => 'smtp.gmail.com', 
    'port' => 587, // Notice port change for TLS is 587 
    'connection_class' => 'plain', 
    'connection_config' => array(
     'username' => '', 
     'password' => '', 
     'ssl' => 'tls', 
    ), 
)); 
$transport->setOptions($options); 
$transport->send($objEmail); 
相關問題