要连接到 PHP 邮件服务器而不使用 PHP 库,可以使用 TCP/IP 协议直接与邮件服务器进行通信。以下是一个示例代码,展示了如何使用 PHP 连接到邮件服务器并发送一封简单的邮件:
\r\n");
$response = fgets($socket);
if (substr($response, 0, 3) !== '250') {
echo "无效的服务器响应: $response";
exit();
}
// 发送收件人信息
fputs($socket, "RCPT TO: <$toEmail>\r\n");
$response = fgets($socket);
if (substr($response, 0, 3) !== '250') {
echo "无效的服务器响应: $response";
exit();
}
// 发送 DATA 命令
fputs($socket, "DATA\r\n");
$response = fgets($socket);
if (substr($response, 0, 3) !== '354') {
echo "无效的服务器响应: $response";
exit();
}
// 发送邮件头部
fputs($socket, "From: $fromName <$fromEmail>\r\n");
fputs($socket, "To: $toName <$toEmail>\r\n");
fputs($socket, "Subject: $subject\r\n");
// 发送邮件正文
fputs($socket, "\r\n");
fputs($socket, "$body\r\n");
// 发送结束符
fputs($socket, ".\r\n");
$response = fgets($socket);
if (substr($response, 0, 3) !== '250') {
echo "无效的服务器响应: $response";
exit();
}
// 发送 QUIT 命令
fputs($socket, "QUIT\r\n");
// 关闭连接
fclose($socket);
echo "邮件发送成功!";
请注意,这只是一个简单的示例,实际情况中可能需要根据邮件服务器的要求进行一些调整。另外,由于直接与邮件服务器通信可能涉及一些安全问题,建议仅在必要情况下使用此方法,并确保对输入进行正确的验证和过滤。