質問: phpでシンプルなメール送信フォームを作成し、 実際メールを送信することはできたのですが、 差出人がApacheになってしまいます。 こちらを指定ドメインにするにはどのようにすればいいのでしょうか? 実際の画面 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/855cf225cfc0de0fac5e7308c176827c.png) ``` ```
回答: 質問に記載されたプログラム中では、From を設定していないようですが... From を指定しない場合は、PHP の実行ユーザー(= Webサーバーの実行ユーザー) が差出人になります。 From を設定する方法は、mb_send_mail より > > mb_send_mail ( string $to , string $subject , string $message [, mixed $additional_headers = NULL [, string $additional_parameter = NULL ]] ) : bool > > > additional_headers(オプション) > > メールヘッダの最後に挿入される String または array > > > 通常、これは追加のヘッダ(From、Cc、Bcc)のために用いられます。 複数のヘッダを追加する場合は CRLF(\r\n)で区切ります。 攻撃者が不要なヘッダーを注入しないようにパラメータを検証してください。 > > > mb_send_mail を使うのであれば、4番目のパラメータで他のヘッダ項目を設定します。 ``` $content = $_POST['content']; $headers = array( 'From'=>'sender@example.com' ); if(mb_send_mail($to, $title, $content, $headers)){ ``` ヘッダが、From 1個だけなら `$headers = 'From: sender@example.com';` でも OK と思います。 参考 誰でも実装できる!PHPでメール送信を行う方法【初心者向け】