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

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

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

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

メール

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

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

Q&A

解決済

2回答

4592閲覧

さくらVPSでのmb_send_mailを使おうとした時のエラー(バグ)

twin_bird

総合スコア230

PHP

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

メール

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

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

0グッド

0クリップ

投稿2015/11/02 18:52

phpのバージョン:5.6

mb_send_mailを使ったメールフォームを作っています。
メールのフォームでは、入力ー確認ー完了という3画面を用意し、完了画面にてmb_send_mailでメールを送信できるようにしています。
二重送信の対策としてセッションを使用しています。

【問題点】
さくらVPSで、mb_send_mailを使用すると、mb_send_mail以降のhtmlタグやphpタグが出力されない!

完了画面(finish.php)では、
500 Internal Server Error
が表示されていたのですが、解決方法が思い浮かびません(+_+)

ロリポのサーバーやローカルのサーバー(CentOS)では、特に問題なかったのですが、VPSでこのような問題が発生したため、サーバーの設定なのではないかと考えています・・

さくらのVPSではメールサーバー?が最初からインストールされているために、mb_send_mailを使用しても問題なくメールが送信されるという情報をみたのですが、どうも検討が付きません。

mb_send_mailの引数には、送信先、送信元、件名、本文(順不同)をとっています。(ロリポでは送信できました。)

解決方法および原因究明に向けた手段を教えていただければ思います!

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

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

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

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

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

guest

回答2

0

ベストアンサー

有用な情報が少ないので、今からエスパーになります。

おそらく、mbstring モジュールがインストールされていない。

bash

1$ sudo yum -y install php-mbstring

投稿2015/11/02 19:01

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

twin_bird

2015/11/03 17:08

回答ありがとうございました! ご指摘の通り、php-mbstringがインストールされていないのが原因でした!
guest

0

エラー内容を把握しないことにはどうにもならないので
エラー表示
うまく行かなければ
エラーログを保存
して、エラー内容を確認してみてください。

勘としては、
mb_send_mail()もしくはその他の関数/クラスがインストールされていないのでfatalエラーが出ている&エラー表示設定がされていないので500エラーのみ表示されている という状態の様に思います。

投稿2015/11/02 19:00

tanat

総合スコア18709

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

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

twin_bird

2015/11/03 17:07

回答ありがとうございます! エラーを表示するのを忘れておりました・・
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問