0

无论如何在 cake 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->config,是否有效并且 $email->send 会成功吗?还是错误?我想在 $email->send().. 之前验证配置。有什么帮助吗?

4

2 回答 2

0

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

抱歉不行。

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

于 2013-07-17T06:58:55.427 回答
0

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

try {    
$email->from('abc@gmail.com');
$email->to($recipient);
$email->subject($final_subject);
$email->send()
}
catch(Exception $e) {
pr($e);die;
}
于 2013-07-17T03:24:31.163 回答