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

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

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

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Sendmail

Sendmailは、インターネットで電子メールを送受信するサーバソフトウェア(MTA)です。ユーザーが送信したメールを受け、他メールサーバへ引き渡しバケツリレー式に配送したり、届いたメールをユーザーが受け取るまでの間保管するといった働きをします。

Q&A

解決済

1回答

1286閲覧

メールを送付するスクリプトを試しているのですが、hostエラー(?)で送信ができません

Masalu_Kudou

総合スコア91

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Sendmail

Sendmailは、インターネットで電子メールを送受信するサーバソフトウェア(MTA)です。ユーザーが送信したメールを受け、他メールサーバへ引き渡しバケツリレー式に配送したり、届いたメールをユーザーが受け取るまでの間保管するといった働きをします。

0グッド

0クリップ

投稿2022/01/30 13:44

CentOS7でメールを送信するスクリプトを作成し試しているのですが、
受信先のメールに一行に届く気配がありません。
スクリプトは正常に終了しているように見えます。
DNSサーバで何か「root@localhost」というドメインを探して失敗しているのかなと思っているのですが、
あまりネットワーク系の知識がないため、どこのファイルを修正すべきかわからず困っております。
ご存知の方いらっしゃいましたら、よろしくお願いいたします。

SellScript

1#! /bin/sh 2{ 3 echo "From: test@gmail.com" /実際のアドレスは違うものです 4 echo "To: test@testtest.com" /実際のアドレスは違うものです 5 echo "Subject: this is test" 6 echo 7 echo this is test. 8} | sendmail -i -t

resultlog1

1【/var/spool/mail/root】 2 3Arrival-Date: Sun, 30 Jan 2022 21:47:56 +0900 4 5Final-Recipient: RFC822; test@testtest.com 6X-Actual-Recipient: rfc822; test@testtest.com 7Action: failed 8Status: 5.5.2 9Diagnostic-Code: SMTP; 501 5.5.3 Invalid Address 10Last-Attempt-Date: Sun, 30 Jan 2022 21:47:56 +0900 11 12--20UCluKb048176.1643546876/test.gmail.com 13Content-Type: message/rfc822 14 15Return-Path: <root@118-27-107-171> 16Received: from 118-27-107-171 (localhost [127.0.0.1]) 17 by test.gmail.com (8.16.1/8.16.1) with ESMTPS id 20UCltKc048174 18 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT) 19 for <test@testtest.com>; Sun, 30 Jan 2022 21:47:56 +0900 20Received: (from root@localhost) 21 by 118-27-107-171 (8.16.1/8.16.1/Submit) id 20UCltrs048173; 22 Sun, 30 Jan 2022 21:47:55 +0900 23Date: Sun, 30 Jan 2022 21:47:55 +0900 24Message-Id: <202201301247.20UCltrs048173@118-27-107-171> 25From: test@gmail.com 26To: test@testtest.com 27Subject: this is test 28 29this is test. 30 31--20UCluKb048176.1643546876/test.gmail.com-- 32 33 34--20UCluKc048176.1643546876/test.gmail.com-- 35

resultlog2

1 2/var/log/maillog 3 4Jan 30 21:46:55 localhost sendmail[48173]: My unqualified host name (XXX-XX-XXX-XXX) unknown; sleeping for retry 5Jan 30 21:47:55 localhost sendmail[48173]: unable to qualify my own domain name (XXX-XX-XXX-XXX) -- using short name 6Jan 30 21:47:55 localhost sendmail[48173]: 20UCltrs048173: from=root, size=89, class=0, nrcpts=1, msgid=<202201301247.20UCltrs048173@XXX-XX-XXX-XXX>, relay=root@localhost 7Jan 30 21:47:55 localhost sendmail[48173]: STARTTLS=client, relay=[127.0.0.1], version=TLSv1.3, verify=FAIL, cipher=TLS_AES_256_GCM_SHA384, bits=256/256 8Jan 30 21:47:56 localhost sendmail[48174]: STARTTLS=server, relay=localhost [127.0.0.1], version=TLSv1.3, verify=NOT, cipher=TLS_AES_256_GCM_SHA384, bits=256/256 9Jan 30 21:47:56 localhost sendmail[48174]: 20UCltKc048174: from=<root@XXX-XX-XXX-XXX>, size=310, class=0, nrcpts=1, msgid=<202201301247.20UCltrs048173@XXX-XX-XXX-XXX>, proto=ESMTPS, daemon=MTA, relay=localhost [127.0.0.1] 10Jan 30 21:47:56 localhost sendmail[48173]: 20UCltrs048173: to=test@testtest.com, ctladdr=root (0/0), delay=00:00:01, xdelay=00:00:01, mailer=relay, pri=30089, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (20UCltKc048174 Message accepted for delivery) 11Jan 30 21:47:56 localhost sendmail[48176]: 20UCltKc048174: to=<test@testtest.com>, delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=120310, relay=yyyyy.zzzzz.ne.jp. [xxx.x.xxx.xxx], dsn=5.6.0, reply=501 5.5.3 Invalid Address, stat=Data format error 12Jan 30 21:47:56 localhost sendmail[48176]: 20UCltKc048174: 20UCluKb048176: DSN: Data format error 13Jan 30 21:47:56 localhost sendmail[48176]: 20UCluKb048176: to=<root@XXX-XX-XXX-XXX>, delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=31596, relay=XXX-XX-XXX-XXX, dsn=5.1.2, stat=Host unknown (Name server: XXX-XX-XXX-XXX: host not found) 14Jan 30 21:47:56 localhost sendmail[48176]: 20UCluKb048176: 20UCluKc048176: return to sender: Host unknown (Name server: XXX-XX-XXX-XXX: host not found) 15Jan 30 21:47:56 localhost sendmail[48176]: 20UCluKc048176: to=root, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=32620, dsn=2.0.0, stat=Sent

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

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

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

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

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

melian

2022/01/30 14:32 編集

ログに、 Jan 30 21:46:55 localhost sendmail[48173]: My unqualified host name (XXX-XX-XXX-XXX) unknown; sleeping for retry とあって、これは送信元の hostname が FQDN の形式になっていないのでメールは送信しませんよ、という意味です。/etc/hosts に alias を追加するか、もしくは sendmail.cf での設定で回避できるかもしれません。(XXX-XX-XXX-XXX の部分がメールの Received: で見えちゃってますけど)
guest

回答1

0

ベストアンサー

Postfixじゃなくてsendmailを使っているのですかね?sendmailの設定は複雑なので、設定を間違えている可能性もありますが、

Diagnostic-Code: SMTP; 501 5.5.3 Invalid Address

ということなので、宛先アドレスの形式が不正なのではないでしょうか?
アドレス形式がRFC適合か不適合かの判断は出来ていますでしょうか?

自分で判断出来ていない場合は、宛先アドレスを提示してください。echo "To: test@testtest.com"の部分の実際の値。そのままである必要は無くて、アドレスの英字は全部Xに置き換えたもので十分です。記号は一切触らずに。

あるいは、ログの、

unable to qualify my own domain name (XXX-XX-XXX-XXX)

from=root@XXX-XX-XXX-XXX

が不審なので、ホスト名の設定を間違えているのかもしれません。

投稿2022/01/30 14:22

編集2022/01/30 14:28
otn

総合スコア84663

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

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

Masalu_Kudou

2022/01/30 14:54

回答ありがとうございます。 すみません、このアドレスはお見せすることができなくて、同じ試験をgmailでおこなったものがあるので、こちらを見ていただくことは可能でしょうか? 以下になります。 https://teratail.com/questions/orgwd3s0gs3t14
otn

2022/01/30 15:05 編集

> アドレスの英字は全部Xに置き換えたもので十分です という文章の意味が理解できないのでしょうか???うーん、困りましたね。 echo "To: foo@example.com" であれば、echo "To: XXX@XXXXXX.XXX" に書き直して書くという意味なのですが。
Masalu_Kudou

2022/01/30 15:14

すみません。正しく理解できておりませんでした。 To: X-XXXXXX@XXXX-XX.XXX となります。
otn

2022/01/30 15:21 編集

不正なアドレス形式ではないので、設定ファイルの問題(おそらくホスト名)だと思います。 そもそも、なぜPostfixでなくSendmailを使うのでしょうか?
Masalu_Kudou

2022/01/30 15:30

実は2年ほど前に、sendmailを使ったあるスクリプトを作成して、送信まで確認したことがありました(当時はSendmailの方が簡単なイメージがありました) そのツールを今回少々改修することになり、個人サーバで色々試しているのですが、うまくいかず今に至る状況です。特にこだわりはなく、「一度Sendmailでスクリプトを作ったことがあるから、改修しやすいかなと思った」だけです。 CentOSもPostfixを推奨しているようですが、こっちの方が使いやすいでしょうか?
otn

2022/01/30 15:44 編集

??使い方は全く同じですよ。 設定ファイルの難しさが違うだけで。 シェルスクリプトはそのまま無変更でOKです。 使い方が違うという誤解に基づいて決めたのなら、今からでもPostfixにしましょう。
Masalu_Kudou

2022/01/30 15:46

なるほど。スクリプト自体に影響はほぼないのですね。 ありがとうございます! これからPostfixを調べて試してみたいと思います。
otn

2022/01/30 15:54

Postfixをインストールすると、sendmail は sendmail.postfix へのシンボリックリンクになり、そのままsendmailコマンドが使えて、メールを送る時に使うオプションは互換性があるはずです。
Masalu_Kudou

2022/01/30 16:10

sendmailコマンド自体もそのまま改修せずに使用できるのですね!文字どおりスクリプト無変更でいけるのはすごいです。 ありがとうございます!これでもう一度スクリプトを試してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問