无论如何,在蛋糕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()之前验证配置..任何帮助?
答案 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表示简单邮件传输协议,它的协议,电子邮件将由电子邮件服务器(可以部署在另一台物理服务器上)发送,因此,正确的配置不会让您保证电子邮件将成功发送。此外,正确的配置并不能保证电子邮件将成功传递。