ローカルサーバーでのプログラミングについて。


自宅のローカルPCで、php開発を行なう場合、メール送信が動きません。
外部に公開しているサーバーではないのですが、
このような場合は、メール送信も含むプログラムをどうやって開発するのでしょうか?

sendmailは起動していますが、メール送信系の命令は全てエラーになります。

外部に公開しないPC(CentOS)でWEBプログラミングを行なう場合、
どのようにメール送信プログラムを動かせばいいのか、アドバイスお願いします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/06/22 19:40:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:ryosachi No.1

回答回数10ベストアンサー獲得回数1スマートフォンから投稿

ポイント34pt

ローカルにsendmailを立てても動かないなら、smtpでメール送信すると、ローカル、サーバ関係なしに同じ環境が作れます。

php mail smtpでググれば色々出てきますよ。

どうしてもローカルにメールサーバを立てる時のよくある問題は、ルータがポートブロッキングしているか、プロバイダがポート587ブロッキングしているか、ですが、メールサーバをローカルに立てて開発すると、デプロイ時に色々不具合がでるので、smtpがオススメです。

id:onigirin

どうもありがとうございます。

smtpで送信する方が、不具合が出にくいということですね。

メール送信できない理由、サブミッションポートですか!

そういえば、そういうのがありましたね。

一応チェックしてみようと思います。

2011/06/16 01:49:17
id:saijyoh_739 No.2

回答回数113ベストアンサー獲得回数10

ポイント33pt

> 自宅のローカルPCで、php開発を行なう場合、メール送信が動きません。

> 外部に公開しているサーバーではないのですが、

> このような場合は、メール送信も含むプログラムをどうやって開発するのでしょうか?

『自宅のローカルPC』ならメールサーバの設定も自由に行えるかと思います。

外部のメールアドレスへはメールできなくてもローカルユーザにはメール可能ならローカルユーザ宛のメールで確認するのも一つの方法かと思います。


それと、PHPでメールする事も可能ですが、メールサーバの設定を確認しsendmail(最近sendmail使っているシステムって減ってると思うけど。postfix/qmail/exim/...など他のメールサーバ使っている事が多い気がします。sendmailコマンドはラッパでメールサーバは他のソフトって事があるので、使っているメールサーバの設定を行う必要があります)でメールがだせるように設定した方が良いと思います。

※開発なさっているのは自宅のローカルサーバで運用するプログラムでしょうか。外部のサーバ上で動かすためのプログラムでしょうか。php側に実装したsmtpに送らせる時、再送などの処理難しいと思いますよ。(例えばメンテ中などで止まってる送信先に4時間ごととかで再送する事など考えると)

id:onigirin

どうもありがとうございます。

WEBサイトとして公開するプログラムです。

ローカルサーバーでもpostfix等が動作するように設定した方がいい、ということですね。

WEBではpostfixを設定していますが、ローカルではうまく設定できず、mb_send_mailが動かなくて、方法を模索していました。

ローカルでpostfixを設定し、メール送信ができるならば、その構築をしてみようかと思います。外部にメールを送信し、そのリンクをクリックしたり確認するため、外部メールアドレスへ送信したいと思っています。

2011/06/16 01:45:53
id:km1981 No.3

回答回数429ベストアンサー獲得回数49

ポイント33pt

>外部に公開しないPC(CentOS)でWEBプログラミングを行なう場合、

>どのようにメール送信プログラムを動かせばいいのか、

それではsendmailも動きませんよ。

まずは、SMTPポートを外部に対して開けることです。

id:onigirin

どうもありがとうございます。

特にルーターなど触っていませんが、

詳しいやり方がわからないので、

今回は外部SMTP経由で送信するという1番の回答を使うことにしました。

2011/06/22 23:16:20

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません