0

私のスクリプトは次のようになります。

<?php    
mail('xxxxxxxxxx@msg.telus.com', '', 'Message', 'From: John Doe \r\n', '-fxxxxxxxxxx@email.com');
?>

スクリプトを携帯電話に送信してテストすると、メッセージは正常に受信されますが、メッセージは「9999999999」からのものであると表示されます。私の質問:

  1. 9999999999 とはどういう意味ですか? 私が Google から収集できる最良の情報は、それが個人番号/スパムを示していることです。
  2. 送信者を「Jon Doe」として表示させる方法はありますか? 基本的に、PHP スクリプトを使用して、メッセージが電話で受信されたときにメッセージに表示される送信者名を制御できるようにする必要があります。

テストには Android フォン (Galaxy S3) を使用していますが、これはすべての電話とすべてのサービス プロバイダーで機能する必要があります。解決策はありますか?

アップデート

いくつかのテストの後、ここに私が見つけたものがあります:

  • Fred のソリューションでは、メッセージはまったく送信されません。
  • Fred のソリューションでヘッダー引数の名前を削除し、電子メールを囲む括弧を削除すると、以前と同じ結果が得られます (送信者フィールドに 9999999999 で送信されます)。
  • 上記の変更を実装した後、メールを存在するアドレス (これまでメールを使用していました) から存在しないアドレスに変更すると、同じ 9999999999 の結果が得られます。
  • 電子メールを電子メール形式ではないもの (たとえば、john@doe.com ではなく John Doe のみ) に変更すると、まったく送信されません。

これはすべて、私の電話と母の電話の両方に当てはまります (モデルは異なりますが、スマートフォンではありませんが、サービス プロバイダーは同じで、母の電話は 9999999999 ではなく 6245 です)。これを念頭に置いて、Fred のソリューションは彼には有効でしたが、私には有効ではないため、プロバイダーに依存しているとしか結論付けられません。また、私のプロバイダーの場合、メール サーバーが実際に存在するかどうかに関係なく、正規表現を使用して、ヘッダーがメールとしてフォーマットされていることを確認する必要があります。mail() 関数をもっと調べる必要があると思います。

4

1 に答える 1

-1

ここで、サイズについてこれを試してください:

<?php    
mail('xxxxxxxxxx@msg.telus.com', '', 'Message', "From: John Doe <xxxxxxxxxx@email.com>\r\n");
?>

追加オプション:

たとえば、フォームに次のような影響があるとします。

<label for='name'>Enter Name: </label>
<input type="text" name="name">

<label for='email'>Enter Email Address:</label>
<input type="text" name="email">

<textarea rows="2" name="message" cols="20"></textarea>

次に、次のようなものを使用できます。

<?php

$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];

mail("xxxxxxxxxx@msg.telus.com", "Subject here", "$message", "From: $name <$email>\r\n");
echo "Message sent.";

?>

もちろん、私は仮定しています。

于 2013-04-25T00:57:16.330 に答える