由于很难找到答案,我认为这可能是不可能的。如果是这样,我想确认这是不可能的。
问问题
4923 次
3 回答
7
使用最新版本的PHPMailer有一种非常简单的方法。
require_once 'phpmailer/class.phpmailer.php';
require_once 'phpmailer/class.smtp.php';
$mail = new PHPMailer(true);
$mail->SMTPAuth = true;
$mail->Username = 'email@example.com';
$mail->Password = 'my_awesome_password';
$mail->Host = 'smtp.example.com';
$mail->Port = 465;
// This function returns TRUE if authentication
// was successful, or throws an exception otherwise
$validCredentials = $mail->SmtpConnect();
您可能需要根据目标 SMTP 服务更改端口号并启用 SSL。例如,Gmail需要SSL 连接。
要启用 SSL,请添加$mail->SMTPSecure = 'ssl';
注意:PHPMailer在失败时抛出异常。例如,用户名/密码不匹配可能会触发异常。为避免错误消息被打印在整个页面上,请将函数包装在 try/catch 块中。
$validCredentials = false;
try {
$validCredentials = $mail->SmtpConnect();
}
catch(Exception $error) { /* Error handling ... */ }
于 2013-03-07T22:30:22.767 回答
1
这并非不可能。
您可以自己对 SMTP 交互进行编程,并检查 SMTP 协议中的凭据是否被接受的确认。对于这种方法,您必须与 SMTP 服务器进行套接字级别的通信(例如,使用 [PHP Sockets] 服务1)。
要了解 SMTP 协议的工作原理,请尝试使用 Telnet 手动进行一次。
http://technet.microsoft.com/en-us/library/aa995718(v=exchg.65).aspx
于 2012-12-18T19:55:32.967 回答
0
于 2012-12-18T19:58:55.197 回答