我正在编写一个脚本,该脚本将通过电子邮件发送文本消息(即###@txt.att.net),而 PHP 的简单 mail() 函数不起作用。我可以通过这种方法很好地发送电子邮件,但是没有发送文本。我做了更多的研究,发现运营商经常在没有发件人的情况下阻止邮件,而使用 PEAR 和 SMTP 是一个更好的解决方案。
但是,以下代码可以发送电子邮件,但仍不能发送 AT&T 短信:
<?php
require_once "Mail.php";
$from = "XXX <XXX>";
$to = "XXX <XXX@txt.att.net>";
$subject = "Test email using PHP SMTP\r\n\r\n";
$body = "This is a test email message";
$host = "XXX";
$port = "26";
$username = "XXX";
$password = "XXX";
$headers = array (
'From' => $from,
'To' => $to,
'Subject' => $subject);
$smtp = Mail::factory('smtp',
array (
'host' => $host,
'port' => $port,
'auth' => true,
'username' => $username,
'password' => $password));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo("<p>" . $mail->getMessage() . "</p>");
} else {
echo("<p>Message successfully sent!</p>");
}
?>
可能是标题格式不正确等问题?有任何想法吗?