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

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

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

DNSとは、Domain Name Systemのことで、インターネットなどのTCP/IPネットワーク上でドメイン名やホスト名と、IPアドレスとの対応づけを管理するシステムです。DNSのデータベースは、IPアドレスの4つの数字を通知するDNSサーバーで構築されており、IPアドレスをドメイン名から引き出す機能やドメイン名に関するメールサーバ情報を取り扱っています。

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

メール

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

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

2回答

7229閲覧

AWSのEC2のpostfixでメールを送信できなくて困っています。

Sfidante

総合スコア90

DNS

DNSとは、Domain Name Systemのことで、インターネットなどのTCP/IPネットワーク上でドメイン名やホスト名と、IPアドレスとの対応づけを管理するシステムです。DNSのデータベースは、IPアドレスの4つの数字を通知するDNSサーバーで構築されており、IPアドレスをドメイン名から引き出す機能やドメイン名に関するメールサーバ情報を取り扱っています。

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

メール

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

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

1クリップ

投稿2015/07/20 05:39

編集2015/07/21 01:21

AWSのEC2のメールサーバーを用いて、
メールの送受信をしようと考えております。
色々設定を変えたりして、
現在下記のエラーになっております。

to=<宛先>, relay=none, delay=35, delays=35/0/0/0, dsn=4.3.5, status=deferred (Host or domain name not found. Name service error for name=(hostnameを記載) type=A: Host found but no data record of requested type)

原因としては、hostnameの部分が間違っているのかと思っているのですが、
解決策がわからず困っています。

また、main.cfの設定は以下のようにしております。

alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases command_directory = /usr/sbin config_directory = /etc/postfix daemon_directory = /usr/libexec/postfix data_directory = /var/lib/postfix debug_peer_level = 2 home_mailbox = Maildir/ html_directory = no inet_interfaces = all inet_protocols = ipv4 mail_owner = postfix mailq_path = /usr/bin/mailq.postfix manpage_directory = /usr/share/man message_size_limit = 10485760 mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain mydomain = eglunch.jp myhostname = mail.eglunch.jp mynetworks = 127.0.0.0/8,192.168.0.0/24,10.0.0.0/16 myorigin = $mydomain newaliases_path = /usr/bin/newaliases.postfix queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES relay_domains = $mydestination relayhost = [mail.eglunch.jp] sample_directory = /usr/share/doc/postfix-2.6.6/samples sendmail_path = /usr/sbin/sendmail.postfix setgid_group = postdrop smtp_sasl_mechanism_filter = plain smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = $myhostname unknown_local_recipient_reject_code = 550

何卒よろしくお願い致します。


追記
現在、エラーは次のようになっております。
status=bounced (mail for [mail.eglunch.jp] loops back to myself)
ネットで検索してみたところ、
main.cfのmydestinationの設定が足りないとのことでしたが、
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
で設定してみましたが、
エラーが変わりませんでした。
他のところの設定に不備があるのでしょうか?

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

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

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

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

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

guest

回答2

0

mail.eglunch.jp の登録がおかしいように思います。

$ dig mail.eglunch.jp any ...snip... ;; ANSWER SECTION: mail.eglunch.jp. 300 IN MX 10 eglunch.jp. ...snip... ;; ADDITIONAL SECTION: eglunch.jp. 300 IN A 52.68.4.5 ...snip...

普通はこうなると思います。

$ dig eglunch.jp any ...snip... ;; ANSWER SECTION: eglunch.jp. 300 IN MX 10 mail.eglunch.jp. ...snip... ;; ADDITIONAL SECTION: mail.eglunch.jp. 300 IN A 52.68.4.5 ...snip...

relayhost = [mail.eglunch.jp] のように指定しているので、mail.eglunch.jp の A レコードが引ける必要があります。

投稿2015/07/20 06:12

ngyuki

総合スコア4514

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

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

ngyuki

2015/07/20 06:13

質問にドメイン名がそのまま書かれていたので回答にもそのまま書いています。
Sfidante

2015/07/20 06:34

ご回答ありがとうございます。 >relayhost = [mail.eglunch.jp] のように指定しているので、mail.eglunch.jp の A レコードが引ける必要があります。 とは、AWSのRoute53でtypeAを[mail.eglunch.jp]にするという意味でしょうか?
ngyuki

2015/07/20 08:30 編集

EC2 ではないどこかのホストから、EC2 に構築したメールサーバにメールをリレーさせたい、ということですよね? → と思ったんですが、TaichiYanagiya さんの指摘の通り、リレーさせたいわけではないのでしょうか? relayhost = [mail.eglunch.jp] この設定は mail.eglunch.jp を A レコードで検索した結果の IP アドレスにメールをリレーするという意味です。なので、mail.eglunch.jp に A レコードが登録されている必要があるのですが、私が見た感じ A ではなく MX が登録されています。 そのような登録のされかたは不自然なので、DNS のレコードの登録に誤りがある可能性が高いです。 なにかしらの事情でそのような登録になっているのであれば、main.cf の方を次のどれかのように変更する必要があります。 relayhost = mail.eglunch.jp relayhost = [eglunch.jp] relayhost = [52.68.4.5]
Sfidante

2015/07/20 09:34

ご返信ありがとうございます。 メールに関する知識が少なく申し訳ございません。 仕組みがいまいちわかっていないのですが、 EC2でメールサーバーを構築して、メールアドレスを作成し、 そのメールアドレスを用いて、SESサービスでメールを送信というようなことを考えております。 メール自体はJavaで作成しSESを用いてメールは送信致します。 Route53では、以下のように変更致しました。 Type:A 、 Name:mail.eglunch.jp 、 Value:52.68.4.5 Type:MX 、 Name:eglunch.jp 、 Value:10 mail.eglunch.jp そうして、◯◯@eglunch.jpとうメールアドレスで送信できるかなと思っています。 その際に、 relayhost = [mail.eglunch.jp] という形で送れるかなと思ったのですが、うまくいきませんでした。 解釈の間違い等ご教授お願い致します。
ngyuki

2015/07/20 09:58

Java はよくわかりませんが、SES でメールを送るのであれば、リレー先は SES にする必要があります。SES でクレデンシャルを作成した時にリレー先の SMTP サーバも表示されていたと思います。 が、SES を使うにしては smtpd_sasl_*** あたりの設定がいろいろ足りていないように思いますけど・・ 以前やったときのメモによると、わたしは以下のような設定をしていました。 relayhost = email-smtp.us-east-1.amazonaws.com:25 smtp_sasl_auth_enable = yes smtp_sasl_security_options = noanonymous smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_use_tls = yes smtp_tls_security_level = encrypt smtp_tls_note_starttls_offer = yes
Sfidante

2015/07/21 00:40

ご回答ありがとうございます。 postfixとSESとの連携においてngyukiさんのおっしゃる通りの記載が必要であると 理解致しました。 ngyukiさんの記載をAWSのガイドページで見ますと、 SESとの連携をするには、 postfixでのメール送信が出来ることが前提条件らしく、 現在、そのpostfixでのメール送信が出来ておらず、 SESでのメール送信も出来ない状況のようです。
ngyuki

2015/07/23 04:21

> SESとの連携をするには、postfixでのメール送信が出来ることが前提条件 それは、SES と連携するためには postfix で SES にメールをリレーで送信する必要がある、という意味です。SES と連携しなければメールは送れません。 (SES を使わずにメールを送る方法もありますが、この質問とは無関係です)
guest

0

ログのエラーの意味は ngyuki さんの回答のとおりですが、「myhostname = mail.eglunch.jp」ですから、このホストから直接メールを送信したいのではないですか?
もし、そうであれば、relayhost の設定は不要です。

投稿2015/07/20 08:23

TaichiYanagiya

総合スコア12146

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

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

Sfidante

2015/07/20 09:35

ご回答ありがとうございます。 メールに関する知識が少なく申し訳ございません。 ngyukiさんと同じことになってしまうのですが、 EC2でメールサーバーを構築して、メールアドレスを作成し、 そのメールアドレスを用いて、SESサービスでメールを送信というようなことを考えております。 メール自体はJavaで作成しSESを用いてメールは送信致します。 Route53では、以下のように変更致しました。 Type:A 、 Name:mail.eglunch.jp 、 Value:52.68.4.5 Type:MX 、 Name:eglunch.jp 、 Value:10 mail.eglunch.jp そうして、◯◯@eglunch.jpとうメールアドレスで送信できるかなと思っています。 その際に、 relayhost = [mail.eglunch.jp] という形で送れるかなと思ったのですが、うまくいきませんでした。 解釈の間違い等ご教授お願い致します。
TaichiYanagiya

2015/07/20 15:15

Postfix からではなく SES からメールを送信するのですね。 relayhost には自ホストではなく SES のホスト名を指定します。 ngyuki さんの回答のとおりだと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問