メールでテキスト メッセージを送信するスクリプト (例: ###@txt.att.net) を作成していますが、PHP の単純な mail() 関数が機能していませんでした。その方法で電子メール メッセージを問題なく送信できましたが、テキストが配信されませんでした。さらに調査を行った結果、キャリアは送信者のいないメッセージをブロックすることが多く、SMTP で PEAR を使用することがより良い解決策であることがわかりました。
ただし、次のコードは電子メールの送信には機能しますが、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>");
}
?>
ヘッダーが正しくフォーマットされていないなどの問題でしょうか?何か案は?