我想使用 pear 邮件扩展来发送经过 SMTP 身份验证的电子邮件。网上有很多例子......这是我的代码:
<?php
require_once "Mail.php";
$body = "Testtext";
$subject = "SMTP Testmail";
$mail_to = "valid.adress@test.com";
$mail_from = "valid.sender.adress@othertest.com";
//SMTP Verbindungsdaten
$host = "valid.smtp.com";
$username = "invalidusername@othertest.com";
$password = "validpasswordforotheruser";
$smtp = Mail::factory('smtp',
array (
'host' => $host,
//'auth' => true,
'auth' => true,
'username' => $username,
'password' => $password
));
$headers = array (
'From' => $mail_from,
'To' => $mail_to,
'Subject' => $subject
);
$mail = $smtp->send($mail_to, $headers, $body);
if (PEAR::isError($mail)) {
echo "Error during sending E-Mail : ". $mail->getMessage();
}
?>
该脚本运行良好,因此我想测试此示例的错误情况并将 smtp 用户更改为无效的内容,并且它仍然有效......我收到了我的邮件。
怎么会这样?
问候
编辑:我现在进行了另一项测试,并将 smtp 服务器更改为无效...文档说必须存在“PEAR_MAIL_SMTP_ERROR_CONNECT”错误...我得到以下输出:“fsockopen() [function. fsockopen]:无法连接到第 108 行 /usr/local/lib/php/Net/Socket.php 中的xx.xx.xx.xxx:25(连接被拒绝)"
“可捕获的致命错误:PEAR_Error 类的对象无法在第 222 行的 /usr/local/lib/php/Net/SMTP.php 中转换为字符串”
当 smtp 名称无效时,这个 IP 来自哪里???可以是服务器被任何配置否决吗?