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

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

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

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Q&A

3回答

5850閲覧

Vagrantでsendmailでメールを送信したい

orangelime

総合スコア8

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

0グッド

0クリップ

投稿2016/10/06 08:09

編集2016/10/11 01:52

初めまして「orangelime」と申します。

初めて質問させていただきます。
宜しくお願いします。

###前提・実現したいこと
Vagrantでsendmailでメールを送信したい。

###発生している問題・エラーメッセージ
mail()およびmb_send_mail()関数でメールが送信できない。

###試したこと

① sendmail sendmail-cf をインストール・テスト

参考サイト:http://qiita.com/wakaba260/items/18b6b66c9b1b6295e537 を参考に設定
「sendmail restart」して送信テストをしましたが受信しません。


② ポート設定(587)

参考サイト:http://pocketstudio.jp/linux/?FC4%2Fsendmail%2FSMTP%A5%DD%A1%BC%A5%C825%C0%A9%B8%C2%C2%D0%BA%F6%A4%CE%A5%B5%A5%D6%A5%DF%A5%C3%A5%B7%A5%E7%A5%F3%A1%A6%A5%DD%A1%BC%A5%C8(Submission%20Port)%CD%F8%CD%D1

[vagrant@localhost mail]$ telnet localhost 587 Trying ::1... telnet: connect to address ::1: Connection refused Trying 127.0.0.1... Connected to localhost. Escape character is '^]'.

③ iptablesでポート設定

参考サイト:http://qiita.com/hurukiyokimura/items/bd517c463d24ea9059f3
参考サイト:http://www13.big.or.jp/~rinken/computer/server/centos/iptables.html

上記を参考にわかる範囲設定などしましたが受信できませんでした。


④ MailCatcher を試す。

参考サイト:http://tech.respect-pal.jp/mail_debug_with_mailcatcher/

これも受信できませんでした。


⑤ Postfix を試す。

参考サイト:https://blog.suusuke.info/2013/12/01/vagrant%E3%81%A7%E6%A7%8B%E7%AF%89%E3%81%97%E3%81%9Fcentos%E3%81%A7%E9%96%8B%E7%99%BA%E3%81%99%E3%82%8B-%E3%83%A1%E3%83%BC%E3%83%AB%E9%80%81%E4%BF%A1%E3%83%86%E3%82%B9%E3%83%88%E7%92%B0%E5%A2%83/
これも送信できませんでした。


以上を試したのですがすべて受信できませんでした。

###補足情報(言語/FW/ツール等のバージョンなど)

windows10 macOS 10.12
Vagrant 1.8.4
VirtualBox 5.0.26
centos 6.7

PHP 5.6.26

###2016/10/11 追記
vagrantの仮想サーバーの再構築をしましたが、改善はされませんでした。
また、mac環境でも試しましたが、同じ症状でした。

一部改善した項目は上記で修正いたしました。
時間が取れ次第より詳しく修正いたします。

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

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

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

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

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

A.Ichi

2016/10/07 03:26

$ m4 sendmail.mc > sendmail.cf -bash: sendmail.cf: 許可がありません。sendmail.cfの書き込み権限を調べて再実行されてはどうでしょうか?
orangelime

2016/10/08 00:10

情報の追加・修正依頼ありがとうございます。やはり「$ m4 sendmail.mc > sendmail.cf -bash: sendmail.cf: 許可がありません。」が問題になったのでしょうか この権限というものがよくわかなないので、引き続き調べてみたいと思います。
A.Ichi

2016/10/08 00:45

ls -l sendmail.cfをしてみて、ファイルの読込、書込、実行権限や所有ユーザの情報が得られます。$ m4 実行時のユーザでtouch sendmail.cfと実行してエラーが無ければ、原因は他に有ると思います。
orangelime

2016/10/08 00:55

早速のアドバイスありがとうございます。 まずご指摘いただきました  ls -l cendmail.cf を試した結果 「[vagrant@localhost ~]$ ls -l sendmail.cf -rw-rw-r--. 1 vagrant vagrant 0 10月 6 16:45 2016 sendmail.cf」となり touch sendmail.cf では特にエラーがありませんでした。
CHERRY

2016/10/08 01:07

メールのログ( /var/log/maillog ) には、何か記録されているでしょうか?
orangelime

2016/10/08 01:16

ご質問ありがとございます。 一応logの最終行のです。「Oct 8 10:06:53 localhost sm-msp-queue[4625]: u965mXxE005867: to=[送信先アドレス], ctladdr=apache (48/48), delay=1+19:18:20, xdelay=00:00:00, mailer=relay, pri=480256, relay=[127.0.0.1], dsn=4.0.0, stat=Deferred: Connection reset by [127.0.0.1]
A.Ichi

2016/10/08 02:07

m4の実行はrootユーザでおこなってはどうでしょうか?
orangelime

2016/10/08 02:32

何度もアドバイスありがとうございます。 少し勘違いしていて、今rootでm4できました。 ただメールはやはり受信できないのですが、様々な設定を試したため、一度環境を再構築してみたいと思います。ほんとに何度もアドバイスいただき感謝いたします。また再構築後状況をご報告させていただきます。
guest

回答3

0

「vargrantで起動した仮想OS上でメールの送受信がしたい」が上手く受信ができないってことでしょうか?

ネットワークの関連がありますので、下記をまずはご確認ください。

1.サーバ単体でメールの送受信ができるか?

$ echo "TEST" | mailx -s "TEST" root # mailx

2.ホストサーバからゲストOSへメールの送信ができるか?

ホストOS上で

$ echo "TEST" | mailx -s "TEST" root@ゲストOSのIPアドレス

上記で正しく受信できないようであれば、ネットワークとpostfixの設定不備があります。

  1. ネットワークの設定の確認

目的のPORTが正しく開放されているのか?確認

ゲストOS側で実行

# nmap localhost # nmap ゲストOSに割り当てたIPアドレス

ホストOS上で実行

# nmap ゲストOSに割り当てたIPアドレス # nmap localhost

少なくとも587とメールの受信用PORT番号は開放されていないとつながりません。

下記のコマンドで未配送のメールも確認できますので、ご確認ください。
ホストOS側から送られたメールがキューに溜まっている場合は、
DoveCotなどの受信ソフトの不備です。

# mailq

投稿2016/11/02 23:31

nagaetty

総合スコア1106

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

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

0

プロバイダで止められているのでは?
多くのプロバイダはスパムメールを恐れて自己がメールサーバーとなってメールを送信する行為を禁止しています。

この場合の解決策としては、ConoHaやさくらのVPS、AWS等のマシンをクラウドで借りて実行することが考えられます。
もしくはメールクライアントとして、メールサーバーへ認証して代わりにメールを送信してもらう事が考えられます。

投稿2016/10/07 03:15

miyabi-sun

総合スコア21158

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

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

orangelime

2016/10/08 00:04 編集

ご回答ありがとうございます。 返答遅くなりすいません。 同じプログラムを「同一の環境下のxammp」で送信し、受信できていますので、 サーバーやプロバイダーが原因ではないようでした。
guest

0

あと考えられるのは
SElinuxが邪魔しているパターンです。

SElinuxを無効にしてみてください

vi /etc/sysconfig/selinux

SELINUX=enforcing

SELINUX=disabled

投稿2016/10/06 09:42

yoshis22

総合スコア107

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

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

orangelime

2016/10/06 09:59

ご回答ありがとうございます。 ご回答ありました SElinuxの設定にも行き着き、「試したこと」への記入を省いたのですが 参考URL : http://qiita.com/ta__ho/items/1bdd8403a15be7411e20 を参考に試したのですが状況が変わりませんでした。 今一度 「SELINUX=disabled」を今試しましたがやはり上手くいきませんでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問