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

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

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

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

PHP

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

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

Q&A

解決済

2回答

3815閲覧

phpからPOSTされたらメール送信(自宅サーバーから携帯に)

ozakizuki

総合スコア13

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

PHP

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

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

0グッド

0クリップ

投稿2017/08/20 11:22

編集2017/08/20 12:43

今回の質問なんですが、お問い合わせフォームからPOSTされた時にサーバーから自分にメールを送りたいのですが
うまくいきません

サーバーは,
こんな感じです centOS6.7 Apache php7 postfix2.6.6

試した事
サーバーからコマンドラインでメールは送信できました
PHPも下記のコードで送信できました。
php -r echo "test" | /usr/sbin/sendmail -t -i アドレス@docomo.ne.jp

ただホームページからは全然遅れません。(HPのコード)

mb_language("Japanese");
mb_internal_encoding("UTF-8");

$to = 'アドレス@docomo.ne.jp';
$subject = 'タイトル';
$message = '本文';
$headers = 'From:info@サイトのアドレス' . "\r\n";

$ck = mb_send_mail($to, $subject, $message, $headers);

if ($ck) {
echo "ok";
} else {
echo "no";
}

質問内容が解りにくいと思いますが、
よろしくお願いいたします。

php.iniの内容を追記します
[mail function]
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = /usr/sbin/sendmail -t -i
SMTP=localhost
smtp_port=25
; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail().
;mail.force_extra_parameters =

; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
mail.add_x_header = On

; The path to a log file that will log all mail() calls. Log entries include
; the full path of the script, line number, To address and headers.
;mail.log =
; Log mail to syslog (Event Log on Windows).
;mail.log = syslog

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

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

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

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

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

CHERRY

2017/08/20 12:15 編集

OS の sendmail コマンドからは、メールが送信できるようですが、PHP関数の mb_send_mail からは、送信できないようなので、PHP のメール設定がどうなっているか質問に追記してください。
ozakizuki

2017/08/20 12:45

ありがとうございます。php.iniを追記しました。ここであってますか?
退会済みユーザー

退会済みユーザー

2017/08/20 14:51 編集

テストしてみましたが送信できました。 実行しながらログを確認してみてください。                     tail -f /var/log/maillog    tail -f /var/log/httpd/access_log 又は ssl_access_log
ozakizuki

2017/08/20 15:23

Aug 21 00:14:52 localhost postfix/sendmail[22088]: fatal: setrlimit: Permission denied というエラーがでました
ozakizuki

2017/08/20 15:24

# getsebool httpd_can_sendmail ネットで調べこれを打ったところ httpd_can_sendmail --> off でしたがONにできない状況です
kei344

2017/08/20 15:37

まだ質問が「受付中」になっていますが、いったんご自身の回答をもって「解決済」にされてはいかがでしょうか。
ozakizuki

2017/08/20 15:39

ay03さんをベストアンサーにしたいのですがやり方がわからなくて、、、
kei344

2017/08/20 15:42

ここは「質問への追記・修正の依頼」なので「回答」ではなく、残念ながらここからは選べない仕様になっています。
kei344

2017/08/21 08:34

ベストアンサーの付け替えもできると思いますよ。(自己解決のところをはずせばできると思います)
guest

回答2

0

解決されたようで何よりです。
では恐縮ですがベストアンサーにしていただけるという事でコメントだけ入れさせていただきます。
まずログを確認するのを心がけてくださいね。

投稿2017/08/20 15:45

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

ozakizuki

2017/08/20 15:48

解りました。 親切で丁寧な対応本当にありがとうございました。
guest

0

自己解決

ありがとうございます。
解決しました。

httpd(apache)からの実行でメールが送れない。

cliでの動作は正常。

apacheユーザ権限でもcli実行では正常。

この確認で、apache経由で実行することに問題がある事が分かった。

原因は、サーバーのhttpd_can_sendmail値がoffになっていたからだった。
getsebool httpd_can_sendmail
を実行すると、
httpd_can_sendmail --> {on|off}
が返ってくるので、offになってればroot権限で
setsebool httpd_can_sendmail on
で送信できました。

投稿2017/08/20 15:36

ozakizuki

総合スコア13

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問