2013-07-17 111 views
0

有没有反正在蛋糕php来检查smtp设置是否有效(端口号,主机名,用户和密码)都是有效的,电子邮件最终会发送,甚至在尝试之前发送。Cakephp检查smtp电子邮件是否有效

App::uses('CakeEmail', 'Network/Email'); 
$email = new CakeEmail(); 
$email->config(array(
    'host' => 'ssl://smtp.gmail.com', 
    'port'=>25, //this port number is wrong 
    'timeout'=>30,    
    'username'=>'[email protected]', 
    'password'=>'wrong password', 
    'transport'=> 'Smtp', 
)); 

$email->from('[email protected]'); 
$email->to($recipient); 
$email->subject($final_subject); 
$email->send() 

是否有无论如何检查$电子邮件 - >配置,是有效的和$电子邮件 - >发送将succesfull?或错误? 我想验证$ email-> send()之前的配置..任何帮助?

回答

0

使用异常处理。它会给你一个适当的消息,你在做什么错:

try {  
$email->from('[email protected]'); 
$email->to($recipient); 
$email->subject($final_subject); 
$email->send() 
} 
catch(Exception $e) { 
pr($e);die; 
} 
0

is there anyway to check the $email->config, is valid and $email->send will be succesfull?

遗憾的是,没有。

smtp表示简单邮件传输协议,它的协议,电子邮件将通过电子邮件服务器(可以部署在另一台物理服务器上)发送,因此,正确的配置不会保证电子邮件将成功发送。另外,正确的配置不会保证电子邮件将成功传送。