我试图通过纯PHP代码发送电子邮件而无需登录SMTP服务器后,发送邮件,代码如下:PHP失败recieving 354
<?php
$from = "[email protected]";
$to = '[email protected]';
$domain = substr($to, strpos($to, '@')+1);
$dns = dns_get_record($domain, DNS_MX);
$mx = $dns[0]['target'];
$message = "
HELO localhost
MAIL FROM: $from
RCPT TO: $to
DATA
Subject: =?UTF-8?B?ztK1xLXa0ru49iBNb2RQSFAgs8zQ8g==?=
From: $from
To: $to
Date: Mon, 03 Apr 2017 13:54:10 +0800
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Content-Type: text/plain
SGVsbG8sIFdvcmxkIQ==
.
";
$server = fsockopen($mx, 25, $errno, $error, 10);
if($errno){
echo $error;
}else{
fputs($server, $message);
while(!feof($server)) {
echo fgets($server);
}
fclose($server);
}
打印
220 bizmx8.qq.com MX QQ Mail Server
250 bizmx8.qq.com
250 Ok
250 Ok
354 End data with <CR><LF>.<CR><LF>
程序挂起后任何人都知道为什么,我怎么能把这封电子邮件发送到给定的地址。 Plus:我非常确定我的脚本使用\ r \ n作为行结尾。
请告诉我为什么你使用这种方法,为什么你不使用邮件或任何第三方邮件服务? –
像[swift邮件程序](http://swiftmailer.org/download) –
这样的用户第三方邮件程序如果您可以告诉我如何解决此问题:mail():无法连接到“本地主机”端口25的邮件服务器,在php.ini验证你的“SMTP”和“smtp_port”设置或者使用ini_set() –