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

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

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

Sendmailは、インターネットで電子メールを送受信するサーバソフトウェア(MTA)です。ユーザーが送信したメールを受け、他メールサーバへ引き渡しバケツリレー式に配送したり、届いたメールをユーザーが受け取るまでの間保管するといった働きをします。

PHP

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

Q&A

解決済

4回答

1370閲覧

[PHP][sendmail] メール送信機能で、送信元メールアドレスによってメールが送信されない

sabx

総合スコア200

Sendmail

Sendmailは、インターネットで電子メールを送受信するサーバソフトウェア(MTA)です。ユーザーが送信したメールを受け、他メールサーバへ引き渡しバケツリレー式に配送したり、届いたメールをユーザーが受け取るまでの間保管するといった働きをします。

PHP

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

0グッド

0クリップ

投稿2019/02/07 02:03

聞きたいこと

PHPとsendmailを組み合わせて、お問い合わせフォームを作成しています。
お問い合わせフォームはとてもシンプルで、

  • お問い合わせ内容
  • お問い合わせ主メールアドレス

を入力するだけのもので、お問い合わせ主が送信ボタンを押下すると、お問い合わせフォーム管理者宛にメールが送信されます。

先日上記お問い合わせフォームが稼働しているサーバーにsendmailをインストールをし、下記のような実装をしました。
(sendmailはデフォルト設定のままです)

一部抜粋 <?php : mb_language("ja"); mb_internal_encoding("UTF-8"); $to = 'お問い合わせフォーム管理者@emailアドレス'; $subject = "Contact"; $email = $_POST['email']; // お問い合わせ主メールアドレス $content = $_POST['content']; // お問い合わせ内容 $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/plain; charset=UTF-8' . "\r\n"; $headers .= 'From: ' . $email. "\r\n"; mail($to, $subject, $mcontent, $headers);

ただ、不思議なことに上記実装だと、

をお問い合わせ主メールアドレスに設定すると、正常に送信されるのですが、下記の

を設定すると、お問い合わせフォーム管理者宛にメールが送信されません。

初歩的かもしれませんが、test@test.comはメールアドレスとして存在していないから送信できないのではないかと疑っていますが、間違っていないでしょうか。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2019/02/07 03:34

とりま、 test.com のドメインを使うにあたって「Internet Security LTD,」 に確認は取ってなかったら 営業妨害で億単位請求されてもしらんぞ
guest

回答4

0

今のインターネットでは自分で立てた野良smptサーバーは
スパムの温床になるのでサービスプロバイダや受け取り側で弾いてたりします。
ご契約されているISPのメールサーバーを利用するのが賢明です。

(自分のローカルネットワーク内なら問題ないはず)

投稿2019/02/07 02:10

yambejp

総合スコア114585

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

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

0

ベストアンサー

サーバのメールログに原因が出力されていると思いますよ。まずはログを確認してから質問しましょう。

自分で管理していないドメインをfromに使用するのはNGです。

投稿2019/02/07 04:45

scsi

総合スコア2840

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

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

0

送信元サーバーに設定してあるドメインに対して
SPFレコードやDKIMとかやってあるのだろうか?

投稿2019/02/07 03:15

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

spam対策で From のアドレスは通常チェックをされますので、その影響である可能性が大です。
また、メールが送信されていないように見えて、単に迷惑メールや低優先メールあたりのフォルダに入っていることも多々あります。
メールが送信先のメールサーバにどう扱われたのかは、PHP が動いているサーバの maillog 等のログを確認するとある程度は判別できます。

投稿2019/02/07 02:46

ssasaki

総合スコア1167

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問