Cakephp检查smtp电子邮件是否有效

时间:2013-07-17 01:18:58

标签: validation email cakephp smtp cakephp-2.0

无论如何,在蛋糕php中检查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'=>'abc@gmail.com',
    'password'=>'wrong password',
    'transport'=> 'Smtp',
)); 

$email->from('abc@gmail.com');
$email->to($recipient);
$email->subject($final_subject);
$email->send()  

无论如何都要检查$ email->配置,有效且$ email-> send会成功吗?还是错误? 我想在$ email-> send()之前验证配置..任何帮助?

2 个答案:

答案 0 :(得分:0)

使用异常处理。它会给你一个恰当的信息,说明你做错了什么:

try {    
$email->from('abc@gmail.com');
$email->to($recipient);
$email->subject($final_subject);
$email->send()
}
catch(Exception $e) {
pr($e);die;
}

答案 1 :(得分:0)

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

不幸的是,没有。

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