質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

メール

メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

Q&A

解決済

3回答

4739閲覧

[php]メール送信の差出人がApacheになる

DaisukeMori

総合スコア225

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

メール

メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

0グッド

0クリップ

投稿2019/02/06 10:46

phpでシンプルなメール送信フォームを作成し、
実際メールを送信することはできたのですが、
差出人がApacheになってしまいます。

こちらを指定ドメインにするにはどのようにすればいいのでしょうか?

実際の画面
イメージ説明

php

1<?php 2 if(!empty($_POST)){ 3 mb_language('Japanese'); 4 mb_internal_encoding('UTF-8'); 5 $to = $_POST['to']; 6 $title = $_POST['title']; 7 $content = $_POST['content']; 8 if(mb_send_mail($to, $title, $content)){ 9 echo 'メールを送信しました'; 10 } else { 11 echo 'メールの送信に失敗しました'; 12 }; 13 } 14?> 15 16<!DOCTYPE html> 17<html> 18 <head> 19 <meta charset="utf-8" /> 20 <script type="text/javascript" charset="UTF-8"></script> 21 </head> 22 <body> 23 <form action="" method="post"> 24 <input type="text" name="to"> 25 <input type="text" name="title"> 26 <textarea name="content"></textarea> 27 <input type="submit" name="send" value="送信"> 28 </form> 29 </body> 30</html>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

質問に記載されたプログラム中では、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でメール送信を行う方法【初心者向け】

投稿2019/02/06 11:00

CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

DaisukeMori

2019/02/07 01:39

$headers = 'From: sender@example.com'; こちらを追加したら実現できました。 ありがとうございました。
guest

0

PHP: mb_send_mailをご確認ください

additional_headersオプションでFromを指定するようにとのことです

投稿2019/02/06 11:02

yambejp

総合スコア114829

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

投稿2019/02/06 11:01

kszk311

総合スコア3404

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問