私のスクリプトは次のようになります。
<?php
mail('xxxxxxxxxx@msg.telus.com', '', 'Message', 'From: John Doe \r\n', '-fxxxxxxxxxx@email.com');
?>
スクリプトを携帯電話に送信してテストすると、メッセージは正常に受信されますが、メッセージは「9999999999」からのものであると表示されます。私の質問:
- 9999999999 とはどういう意味ですか? 私が Google から収集できる最良の情報は、それが個人番号/スパムを示していることです。
- 送信者を「Jon Doe」として表示させる方法はありますか? 基本的に、PHP スクリプトを使用して、メッセージが電話で受信されたときにメッセージに表示される送信者名を制御できるようにする必要があります。
テストには Android フォン (Galaxy S3) を使用していますが、これはすべての電話とすべてのサービス プロバイダーで機能する必要があります。解決策はありますか?
アップデート
いくつかのテストの後、ここに私が見つけたものがあります:
- Fred のソリューションでは、メッセージはまったく送信されません。
- Fred のソリューションでヘッダー引数の名前を削除し、電子メールを囲む括弧を削除すると、以前と同じ結果が得られます (送信者フィールドに 9999999999 で送信されます)。
- 上記の変更を実装した後、メールを存在するアドレス (これまでメールを使用していました) から存在しないアドレスに変更すると、同じ 9999999999 の結果が得られます。
- 電子メールを電子メール形式ではないもの (たとえば、john@doe.com ではなく John Doe のみ) に変更すると、まったく送信されません。
これはすべて、私の電話と母の電話の両方に当てはまります (モデルは異なりますが、スマートフォンではありませんが、サービス プロバイダーは同じで、母の電話は 9999999999 ではなく 6245 です)。これを念頭に置いて、Fred のソリューションは彼には有効でしたが、私には有効ではないため、プロバイダーに依存しているとしか結論付けられません。また、私のプロバイダーの場合、メール サーバーが実際に存在するかどうかに関係なく、正規表現を使用して、ヘッダーがメールとしてフォーマットされていることを確認する必要があります。mail() 関数をもっと調べる必要があると思います。