Php 无法通过telnet连接到smtp服务器错误504
尝试通过telnet登录电子邮件服务器时出现504错误。我试过25号端口和587号端口。(使用*s和xs屏蔽域和IP) 不过我可以用phpmailer做得很好!:Php 无法通过telnet连接到smtp服务器错误504,php,smtp,phpmailer,telnet,smtp-auth,Php,Smtp,Phpmailer,Telnet,Smtp Auth,尝试通过telnet登录电子邮件服务器时出现504错误。我试过25号端口和587号端口。(使用*s和xs屏蔽域和IP) 不过我可以用phpmailer做得很好!: <?php $mail = new PHPMailer(true); $mail->IsSMTP(); $mail->Host = $host; $mail->Port = 587; $mail->SMTPDe
<?php
$mail = new PHPMailer(true);
$mail->IsSMTP();
$mail->Host = $host;
$mail->Port = 587;
$mail->SMTPDebug = 2;
$mail->SMTPSecure = "tls";
$mail->SMTPAuth = true;
$mail->Username = $user;
$mail->Password = $password;
$mail->SetFrom($user, "chiliNUT");
$mail->Subject = $subject;
$mail->MsgHTML($content);
$mail->send();
我如何在命令行上运行此功能?这是因为大多数合理的邮件服务器不允许未加密的身份验证-请注意,您从服务器收到的功能列表不包括身份验证-您需要先调用STARTTLS,PHPMailer会自动执行此操作。使用telnet手动执行此操作并不容易-请使用openssl的_client命令来更好地执行此操作。PHPMailer故障排除指南中有一个示例,类似于:
openssl s_client -starttls smtp -connect smtp.outlook.office365.com:587
public function Authenticate($username, $password) {
// Start authentication
fputs($this->smtp_conn,"AUTH LOGIN" . $this->CRLF);
//...
openssl s_client -starttls smtp -connect smtp.outlook.office365.com:587