自宅のローカルPCで、php開発を行なう場合、メール送信が動きません。
外部に公開しているサーバーではないのですが、
このような場合は、メール送信も含むプログラムをどうやって開発するのでしょうか?
sendmailは起動していますが、メール送信系の命令は全てエラーになります。
外部に公開しないPC(CentOS)でWEBプログラミングを行なう場合、
どのようにメール送信プログラムを動かせばいいのか、アドバイスお願いします。
ローカルにsendmailを立てても動かないなら、smtpでメール送信すると、ローカル、サーバ関係なしに同じ環境が作れます。
php mail smtpでググれば色々出てきますよ。
どうしてもローカルにメールサーバを立てる時のよくある問題は、ルータがポートブロッキングしているか、プロバイダがポート587ブロッキングしているか、ですが、メールサーバをローカルに立てて開発すると、デプロイ時に色々不具合がでるので、smtpがオススメです。
> 自宅のローカルPCで、php開発を行なう場合、メール送信が動きません。
> 外部に公開しているサーバーではないのですが、
> このような場合は、メール送信も含むプログラムをどうやって開発するのでしょうか?
『自宅のローカルPC』ならメールサーバの設定も自由に行えるかと思います。
外部のメールアドレスへはメールできなくてもローカルユーザにはメール可能ならローカルユーザ宛のメールで確認するのも一つの方法かと思います。
それと、PHPでメールする事も可能ですが、メールサーバの設定を確認しsendmail(最近sendmail使っているシステムって減ってると思うけど。postfix/qmail/exim/...など他のメールサーバ使っている事が多い気がします。sendmailコマンドはラッパでメールサーバは他のソフトって事があるので、使っているメールサーバの設定を行う必要があります)でメールがだせるように設定した方が良いと思います。
※開発なさっているのは自宅のローカルサーバで運用するプログラムでしょうか。外部のサーバ上で動かすためのプログラムでしょうか。php側に実装したsmtpに送らせる時、再送などの処理難しいと思いますよ。(例えばメンテ中などで止まってる送信先に4時間ごととかで再送する事など考えると)
どうもありがとうございます。
WEBサイトとして公開するプログラムです。
ローカルサーバーでもpostfix等が動作するように設定した方がいい、ということですね。
WEBではpostfixを設定していますが、ローカルではうまく設定できず、mb_send_mailが動かなくて、方法を模索していました。
ローカルでpostfixを設定し、メール送信ができるならば、その構築をしてみようかと思います。外部にメールを送信し、そのリンクをクリックしたり確認するため、外部メールアドレスへ送信したいと思っています。
>外部に公開しないPC(CentOS)でWEBプログラミングを行なう場合、
>どのようにメール送信プログラムを動かせばいいのか、
それではsendmailも動きませんよ。
まずは、SMTPポートを外部に対して開けることです。
どうもありがとうございます。
特にルーターなど触っていませんが、
詳しいやり方がわからないので、
今回は外部SMTP経由で送信するという1番の回答を使うことにしました。
どうもありがとうございます。
smtpで送信する方が、不具合が出にくいということですね。
メール送信できない理由、サブミッションポートですか!
そういえば、そういうのがありましたね。
一応チェックしてみようと思います。