こんにちは、タニーです。
今回はwebをさくらのレンタルサーバー、メールは別サービスで運用した際に、レンタルサーバーにアップしたLPにphpのフォームを設置したらめちゃくちゃハマったのでその話をしようかと思います。
簡単な状況説明
1.Webとメールを下記のように運用します。
・Web:http://www.sample.co.jp
・メール:○○@sample.co.jp
2.Webサーバをさくらのレンタルサーバにして、メールサーバは別サービスを使います。
3.メールアドレスはお客様が作成した指定のアドレスです。
4.Webサーバに info@sample.co.jp のような、同一ドメインを設定したメールフォームを設置します。
5.送信するとInternal Server Errorが発生します。
※ローカル環境では正常に送信できていました。
調査開始
色々と調べていると、原因は
「送信先に設定されているドメインがウェブサーバに設定されているドメインと同一だと、SMTPを経由する前に内部で処理しようとして、該当のメールアドレスが見つからずにエラーとなる」
といったことのようです。
ふむふむ、、、とりあえず同一ドメインだと勘違いして、先に違う処理が走ってしまうようです。
試行錯誤
じゃあどうするの?
ってことでまた調べていると最初に見つけたのは、
「さくらのコントロールパネル内で、送りたいメールアドレスと同じユーザ名でメールアドレスを作成することで、そのアドレスが存在すると錯覚させる」
これを実際やってみるとさくらのwebメールにだけ届くといった状況になります。しかし分からないなりに色々こねくり回し、転送設定もしてみましたがダメで、それをするとループしてしまうらしくめちゃくちゃ大量のテストメールを受信してました(笑)
解決
このあたりで情報が全然無くなってきて絶望してたんですが、色んなところ探していたら遂に一筋の光が!
「さくらの新コントロールパネルから、別会社で取得したドメインでも「メールの利用範囲」の『選択したドメインはメールでは利用しない』が選択可能です」
https://help.sakura.ad.jp/360000238462/#05
え、、、そんだけ、、、????
なんでこんなボタンひとつで解決する情報に辿り着けなかったのか。。。
でもweb制作でコーディングやってるとこんなことって結構あるあるだよね、、、ということでこれで無事解決しました!
僕と同じ境遇の人がこの記事を見つけて役に立ったら嬉しいです。
それではまた。
この記事を書いた人
タニーコーダー
コーダー兼レタッチャー。 レタッチ会社からweb業界へ転身しました。