CentOS7上でApacheを起動させWebサーバーを動かしています。
以下のテストコードを作成し、アクセスするとメールを送信し、結果を返すコードです。
********************はメールアドレスです。
php
1<?php 2ini_set('display_errors', "1" ); 3 4echo "メール送信"; 5 6mb_language("Japanese"); 7mb_internal_encoding("UTF-8"); 8 9$to = '********************'; 10$subject = 'title'; 11$message = 'body'; 12$headers = 'From:********************' . "\r\n"; 13 14$send_mail = mail($to, $subject, $message, $headers); 15 16if ($send_mail) { 17 echo "ok"; 18} else { 19 echo "no"; 20} 21?>
アクセスすると、メール送信 だけ表示され ok や no は表示されません。
もちろん、メールも届いていません。
CentOSにPostfixとDovecotは、インストールしてありますが、設定がよくわからないでのもしかしたら間違っているかもしれません。
ファイヤーウォールでsmtp,110/tcp,143/tcpは許可してります。
重要な設定箇所や見逃している場所など教えてください。
追記
SaintKnowledgeさんにini_set('display_errors', "1" );
を教えていただき追加し実行した結界以下のエラが返ってきました。
Fatal error: Uncaught Error: Call to undefined function mb_language() in /var/www/html/index.php:6 Stack trace: #0 {main} thrown in /var/www/html/index.php on line 6
yum -y install php-mbstring の実行結果
[root@localhost www]# yum -y install php-mbstring 読み込んだプラグイン:fastestmirror, versionlock Loading mirror speeds from cached hostfile * base: mirrors.cat.net * epel: mirror.dmmlabs.jp * extras: mirrors.cat.net * remi-safe: ftp.riken.jp * updates: mirrors.cat.net 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ php-mbstring.x86_64 0:5.4.16-45.el7 を インストール --> 依存性の処理をしています: php-common(x86-64) = 5.4.16-45.el7 のパッケージ: php-mbstring-5.4.16-45.el7.x86_64 --> 依存性解決を終了しました。 エラー: パッケージ: php-mbstring-5.4.16-45.el7.x86_64 (base) 要求: php-common(x86-64) = 5.4.16-45.el7 インストール: php-common-7.2.8-1.el7.remi.x86_64 (@remi-php72) php-common(x86-64) = 7.2.8-1.el7.remi 利用可能: php-common-5.4.16-45.el7.x86_64 (base) php-common(x86-64) = 5.4.16-45.el7 問題を回避するために --skip-broken を用いることができます。 これらを試行できます: rpm -Va --nofiles --nodigest
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。