X



Postfix(8)

0445名無しさん@お腹いっぱい。
垢版 |
2010/01/12(火) 23:32:39
>>442
>○ 携帯電話の通話を盗聴するということは技術的に非常に困難で、ほとんど不可能です。

なんかいきなり突っ込みたくなる感じ
0446名無しさん@お腹いっぱい。
垢版 |
2010/01/13(水) 01:24:40
えっ
分割されてスクランブルされたものがそれぞれ別の周波数の搬送波で送受信されてたら
それをかき集めて復元するのは大変だし現実的じゃないと思うけど
0451名無しさん@お腹いっぱい。
垢版 |
2010/01/14(木) 21:11:18
postfixってあるサーバーから別のサーバーへSMTP接続するとき
お互いがTLS使える状況ならTLSで繋いでくれますか?
0453名無しさん@お腹いっぱい。
垢版 |
2010/01/15(金) 15:37:48
TLS対応している(設定している)SMTPサーバーってどのくらいあるんだろ。
うちはやってないけど、貴兄らはやっておりますか?
0455名無しさん@お腹いっぱい。
垢版 |
2010/01/16(土) 02:08:23
質問です
NISサーバから/etc/passwdを同期してるNISクライアントにpostfixを入れているんですが、/etc/passwd に存在しないオーナー権限で、/usr/bin/sendmail等postfixのsendmailラッパーを叩くと、
fatal: no login name found for user ID (uid)
のエラーが出て送信できません。

Jan 15 22:53:05 mv8 postfix/sendmail[30963]: fatal: no login name found for user ID 533
Jan 15 22:53:06 mv8 postfix/sendmail[30965]: fatal: no login name found for user ID 533

(postfix/sendmailが/etc/passwdのみを参照してて、NISで取得しているpasswdを見てくれてない)
local_recipient_maps=
alias_maps = hash:/etc/aliases, nis:mail.aliases
などなどいろいろやってみたけどダメでした。
これぞ!! という解決方法ないでしょうか・・・
0458名無しさん@お腹いっぱい。
垢版 |
2010/01/16(土) 16:12:37
OSが何か知らんがpostfix以前の問題ではないのか?
RHEL系ならgetent passwd ユーザ名で当該エントリを取得できなければ
/etc/nsswitch.confのpasswdエントリを見直し
0459名無しさん@お腹いっぱい。
垢版 |
2010/01/17(日) 15:29:19
>>458
すんません。CentOS5.3っす。
getent passwd、ypcat passwdで問題なくpasswd表示されます。
LDAP+postfixはかゆいところに手が届くみたいだけど、NISは古すぎですかね・・・

具体的には、NIS+Apache+SuPHP+Postfix環境なんですけど、SuPHPなんでApacheのCGI(Perl/PHP)がユーザ権限で実行されるんです。
CGIが実行する /usr/lib/sendmail とかもApacheのオーナー権限じゃなくてユーザ権限、しかもNISのuid/gudで実行されるので、「/etc/passwdにいないユーザはpostfix/sendmailを実行できないよ」とエラーを起こす、という経緯です。
ちなみにPostfixを切って、sendmailに戻すとこのエラーは出ません。
Qmailのsendmailラッパの場合はまだ試してないです。
0461名無しさん@お腹いっぱい。
垢版 |
2010/01/17(日) 16:45:53
すんません。
ソース追ってみました。
./src/sendmail/sendmail.c で
if ((sender = username()) == 0)
msg_fatal_status(EX_OSERR, "no login name found for user ID %lu",
(unsigned long) uid);
saved_sender = mystrdup(sender);
してるだけで、username()もpwd.hのgetuid()を呼んでる、ごくごくシンプルなつくりでした。
該当するconfもなく、このエラーを回避するオプションはないみたいです。

if ((sender = username()) == 0) をコメントアウトしちゃえばスルーできそうなんで、yumでの手抜きやめてビルドしてきます。
どうもお騒がせしましたー
0462名無しさん@お腹いっぱい。
垢版 |
2010/01/17(日) 17:34:56
スルーしたらエラーメッセージの送信者名が空になるぞ?
char tmp[80];
if ((sender = username()) == 0) {
  msg_warn("no login name found for user ID %lu", (unsigned long) uid);
  snprintf(tmp, sizeof tmp, "UID:%lu", (unsigned long) uid);
  sender = tmp;
}

エラー出てるのはgetuid(2)じゃなくその後のgetpwuid(3)
passwd.byuidマップ参照ならgetent passwd 533は動く?
といってもsendmail-8.14でもgetpwuidを普通に呼んでるし原因は別かも

あとはsendmail wrapper地道にトレースしてみるとか
0463名無しさん@お腹いっぱい。
垢版 |
2010/01/17(日) 18:57:22
>>462
おおっ!!
ありがとうございます
getent passwd 533 問題なしです。

念のため
int main(int argc, char *argv[]){
struct passwd *pwd;
pwd = getpwuid(533);
printf("name: [%s]\n",pwd->pw_name);
printf("password: [%s]\n",pwd->pw_passwd);
printf("uid: [%d]\n",pwd->pw_uid);
printf("gid: [%d]\n",pwd->pw_gid);
}
してみましたが、pwd全部正常に引けてます。
pwd=getpwnam() にしてみても問題なしでした。
明日折りみてトレースしてみまっす
ありがとございましたー
0464名無しさん@お腹いっぱい。
垢版 |
2010/01/17(日) 23:21:18
どうもNIS+Postfixですったもんだしてる者です。
あっさり問題解決しました。
postfix-2.6.5 のソースからビルドしたらなんのエラーも吐かず動きました。

単にCentOSのRPMのPostfixだから >>455 の問題が発生しただけのようです。
(どうりでソース読んでも問題ないわけです・・・)
ホントお騒がせしました。
もうSRPMまで読み込んで問題提起する気力はないですが、手抜きは結局自分の首締めるってことを改めて実感しました。
要のサービスはソースからビルドしよー
ということで、どうもお騒がせでしたー!!
これでホントにcloseです
0465430
垢版 |
2010/01/20(水) 18:22:53
>>431,>>432,>>433
色々なアドバイスありがとうございます。返答・お礼が無茶苦茶遅れてすみません。
最終的には、まずalways_bccでバックアップ用のアカウントにまわして
その後、maildrop側で バックアップ用のアカウントに来たメールで かつ Bccだった場合、
差出人のアカウント名を取得し、その名前のIMAP ディレクトリの中に放り込む… というように設定する事にしました。
「always_bccでやると送信したユーザごとに分類できないな」と思い込んでいたのがそもそも間違いでした。

ただ、>>431氏の構成や>>433氏のいろんなアーカイバには凄く興味があるので
今度時間を作ってあれこれ試してみようと思います。
ありがとうございました。
0466名無しさん@お腹いっぱい。
垢版 |
2010/02/28(日) 23:50:25
質問です
メールの送信はうまくいくのですが、メールの受信がうまくいきません。
現在の運用形態は
Fedora12のPOSTFIX/DOVECOT/mydns/plalaプロバイダ(op25b)です。

現状で自鯖からフリーメールへ向けて送信すると、送信は正常に行われます。
ですがフリーメールから自鯖に向けてメールを送信すると、自鯖には受信できていません。
yahooなどのフリーメールから送信すると,何言もなかったかの用に
送信が終了し,4日ぐらい後になって配達エラーが出て戻ってきます。
戻ってきたときのエラーメッセージは
Sorry, I wasn't able to establish an SMTP connection. (#4.4.1)
I'm not going to try again; this message has been in the queue too long.
でした。

そこで25番ポートにアクセスできるか、下記サイトでチェックしてみました
http://www.cman.jp/network/support/port.html
正常と出てきます。

また、例外的に自鯖でメールを受信できる例がありまして下記アドレスから
http://www.hirokasa.com/doc/html/mail-test.html
サンプルメールを送信する実験をしましたところ,正常にメールは受信できました

上記サイトで正常にメールを受信できるということは、POSTFIXの設定が
どこか間違っていると思っております。

私は何が原因かまったくわかりません。
この問題を解決する上で他に付随する資料はなにかひつようでしょうか?
ここを直すべきだというアドバイスをください。どうか、お願いします。
0467名無しさん@お腹いっぱい。
垢版 |
2010/02/28(日) 23:55:20
postconf -n
0471名無しさん@お腹いっぱい。
垢版 |
2010/03/01(月) 05:24:57
外部ネットワークから、telnet 〜 25でサーバに接続して、
直接SMTPコマンド入力して、何が起きてるか調べれ。
SMTPプロトコルはすごい単純だから、この機会に覚えておくといいよ。
0473466
垢版 |
2010/03/01(月) 08:08:29
[root@server mail]# postconf -n
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
html_directory = no
inet_interfaces = all
inet_protocols = all
local_recipient_maps = unix:passwd.byname $alias_maps
0474466
垢版 |
2010/03/01(月) 08:09:53
続きです
mail_owner = postfix
mail_spool_directory = /var/spool/mail
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mydomain = to~~~.mydns.jp
myhostname = mail.to~~~.mydns.jp
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.6.5/README_FILES
relayhost = [mmr.plala.or.jp]
sample_directory = /usr/share/doc/postfix-2.6.5/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtp_always_send_ehlo = no
smtp_never_send_ehlo = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_auth_destination ,permit_sasl_authenticated, reject
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
unknown_local_recipient_reject_code = 550
0475466
垢版 |
2010/03/01(月) 08:25:46
外部からメールを送信してくれるテストサイト
http://www.hirokasa.com/doc/html/mail-test.html からの送信は、
thunderbirdまで届いてきます。このようにメールが正常に届くときには、
ログ(/var/log/maillog)がしっかり残っています。
     postfix/smtpd

フリーメール(外部)から自鯖に向けて送信した場合には、ログには出てきません。
>>471さんへ
>外部ネットワークから、telnet 〜 25でサーバに接続して
外部ネットワークでアクセス出来るような回線を持っていません。
ごめんなさい
強いてテストをしてくれるサイトをあげると、さっきのアドレスで
smtpdへのアクセス実験と結果が帰ってきます

0476466
垢版 |
2010/03/01(月) 08:28:20
SMTP試験
接続するサーバ名
to~~~.mydns.jp

サーバとの接続ができました。サーバのIPアドレスは次の通りです。

114.181.240.211
user name : s~~~

接続OKです
connect response = 220 mail.to~~~.mydns.jp ESMTP Postfix
HELO send : to~~~.mydns.jp
HELO response = 250 mail.to~~~.mydns.jp
MAIL FROM send : webmaster@hirokasa.jp
MAIL FROM response = 250 2.1.0 Ok
RCPT send : s~~~@to~~~~~.mydns.jp
RCPT TO: response = 250 2.1.5 Ok
DATA send :
DATA response = 354 End data with .
send : From: webmaster@hirokasa.jp
send : TO: s~~~@to~~~~~.mydns.jp
send : Subject: test smtp
send :
send : Test SMTP Message. This Message is sent from Mail test server.
response = 250 2.0.0 Ok: queued as 4C4B44B9
send : quit
response = 221 Bye
MAILは正常に送信されました。
0479名無しさん@お腹いっぱい。
垢版 |
2010/03/01(月) 20:05:24
>>475
mxレコードはどこ向いてる?
mxなきゃAレコードで到達するかもだが、mxレコードが存在しててあさってのホスト指してたりしないかね?
0481466
垢版 |
2010/03/01(月) 20:35:39
>>478さん >>479さん ビンゴです
mydnsサーバでは下記の用に設定しておりました。

ドメイン名: TO~~.MYDNS.JP
MXレコード: tx~~.mydns.jp
ホスト名1: *

ドメイン名とMXレコードの設定が、一字間違って登録されていました。
その箇所を修正しましたところ、正常に受信できるようになりました。
メールの送信もメールの受信も 問題なく 行えるようになりました。

postfixの設定ではなかったのですね。postfix板でごめんなさい。
教えてくださった方、本当にありがとうございました。
0484名無しさん@お腹いっぱい。
垢版 |
2010/03/18(木) 21:24:22
deferred に入ってる日本語メールの内容確認したいんですが、
どのようにすればよいでしょうか。
現在は文字化けしてます。
0487名無しさん@お腹いっぱい。
垢版 |
2010/03/18(木) 21:48:23
cat /var/spool/postfix/deferred/?/*(読みたいファイル) | /usr/sbin/sendmail -i -f 発信者(正しいメールアドレス) -- 宛先(正しいメールアドレス)
0488名無しさん@お腹いっぱい。
垢版 |
2010/03/18(木) 22:59:23
To: メッセージヘッダがない場合に"To: undisclosed-recipients:;"ヘッダを挿入するのではなく
いきなり蹴飛ばしたいんですが、どのファイル(main.cf? header_checks?)にどういう設定を
すればいいかわかりません。

教えてください、エロい人
0490名無しさん@お腹いっぱい。
垢版 |
2010/03/20(土) 17:11:01
>>488
そのヘッダを挿入しないようにするには、main.cf で undisclosed_recipients_header を空にすればいいみたい。
蹴飛ばす方法はわかりません。
0491名無しさん@お腹いっぱい。
垢版 |
2010/03/20(土) 18:27:30
すみませんpostfix 2.5.5 でメールサーバを構築してruby on rails からメール送信するプログラムを作ってるのですが、
どうやってもfromが上手く設定できません。
from を noreply@hogehoge.orgに設定してもhoge_user@hogehoge.orgになってしまいます。
(senderには設定される)
from と senderが違うからか解りませんが一部のSMTPサーバからメールをはじかれてる感じです。
これってfromとsenderって違うようになるものですか?
それとも設定がおかしい?

[log]
Mar 20 07:24:29 mail postfix/pickup[4285]: BB9BC114475: uid=1001 from=<hoge_user>
Mar 20 07:24:29 mail postfix/cleanup[5795]: BB9BC114475: message-id=<20100320072429.BB9BC114475@mail.hogehoge.org>
Mar 20 07:24:29 mail postfix/qmgr[4286]: BB9BC114475: from=<hoge_user@hogehoge.org>, size=486, nrcpt=1 (queue active)

Mar 20 07:25:00 mail postfix/smtp[5797]: BB9BC114475: to=<foofoo@gmail.com>, relay=gmail-smtp-in.l.google.com[209.85.217.46]:25, delay=30, delays=0.06/0.01/0.08/30, dsn=2.0.0, status=sent (250 2.0.0 OK 1269069898 6si4343864gxk.52)
Mar 20 07:25:00 mail postfix/qmgr[4286]: BB9BC114475: removed
0492491
垢版 |
2010/03/20(土) 18:28:29
main.cfはこんな感じです。
だれかアドバイスください orz

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
append_dot_mydomain = no
readme_directory = no

smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
myhostname = mail.hogehoge.org
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = hogehoge.org, mail.hogehoge.org, localhost.hogehoge.org, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +

inet_interfaces = loopback-only
0495491
垢版 |
2010/03/21(日) 11:48:18


>>493
thx!プログラム側見てみます。

>>494
ありがとーあとでぐぐってみます!

0498名無しさん@お腹いっぱい。
垢版 |
2010/04/02(金) 16:27:28
makedefs や src/util/sys_defs.h に FREEBSD8 の定義がなくてコケるという話?
2.7.0 ならちゃんと対応してるし、それ以前のバージョンでも
ports から入れれば問題ないよ。
0499名無しさん@お腹いっぱい。
垢版 |
2010/04/13(火) 22:33:54
postfixでaliasesでのメール転送が失敗します
設定が間違っていると思うのですが、アドバイスをお願いします(´Д`;)

echo "test" | mail root
で送るとzzzzzz@yahoo.co.jpにエラーメール(Undelivered Mail Returned to Sender)が届き
それに"test"のメールが添付されています。
一応メールが読めるということにはなりますが、正常に送りたいのです・・・

# cat /etc/aliases
root: zzzzzz@yahoo.co.jp
postmaster: root

(1レスで貼れないので分けます)
0500499
垢版 |
2010/04/13(火) 22:35:07
続き

# postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
inet_interfaces = loopback-only
mailbox_size_limit = 0
mydestination = $myhostname, localhost.localdomain, localhost
myhostname = myhost123
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = $myhostname
readme_directory = no
recipient_delimiter = +
relayhost = smtp.xxxx.ne.jp:25
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
0501499
垢版 |
2010/04/13(火) 22:38:27
続き

# cat /var/log/mail.log
postfix/pickup[4900]: 9606C57C0: uid=0 from=<root>
postfix/cleanup[4916]: 9606C57C0: message-id=<20100413113003.9606C57C0@myhost123>
postfix/qmgr[4901]: 9606C57C0: from=<root@myhost123>, size=870, nrcpt=1 (queue active)
postfix/cleanup[4916]: AD1B357C1: message-id=<20100413113003.9606C57C0@myhost123>
postfix/qmgr[4901]: AD1B357C1: from=<root@myhost123>, size=994, nrcpt=1 (queue active)
postfix/local[4919]: 9606C57C0: to=<root@myhost123>, orig_to=<root>, relay=local, delay=0.17,
  delays=0.07/0.05/0/0.05, dsn=2.0.0, status=sent (forwarded as AD1B357C1)
postfix/qmgr[4901]: 9606C57C0: removed
postfix/smtp[4920]: AD1B357C1: to=<zzzzzz@yahoo.co.jp>, orig_to=<root>,
  relay=smtp.xxxx.ne.jp[xx.xx.xx.xx]:25, delay=0.26, delays=0.01/0.03/0.17/0.05, dsn=5.0.0,
  status=bounced (host smtp.xxxx.ne.jp[xx.xx.xx.xx] said: 553 myhost123.xxxx.ne.jp does not exist (in reply to MAIL FROM command))
postfix/cleanup[4916]: 077A457C3: message-id=<20100413113004.077A457C3@myhost123>
postfix/qmgr[4901]: 077A457C3: from=<>, size=2834, nrcpt=1 (queue active)
postfix/cleanup[4916]: 0C96757C4: message-id=<20100413113004.077A457C3@myhost123>
postfix/qmgr[4901]: 0C96757C4: from=<>, size=2958, nrcpt=1 (queue active)
postfix/local[4919]: 077A457C3: to=<root@myhost123>, relay=local, delay=0.03,
  delays=0.02/0/0/0.01, dsn=2.0.0, status=sent (forwarded as 0C96757C4)
0502499
垢版 |
2010/04/13(火) 22:39:21
最後

postfix/bounce[4921]: AD1B357C1: sender non-delivery notification: 077A457C3
postfix/qmgr[4901]: 077A457C3: removed
postfix/qmgr[4901]: AD1B357C1: removed
postfix/smtp[4920]: 0C96757C4: to=<zzzzzz@yahoo.co.jp>, orig_to=<root@myhost123>,
  relay=smtp.xxxx.ne.jp[xx.xx.xx.xx]:25, delay=3.7, delays=0.01/0.03/0.18/3.5, dsn=2.0.0, status=sent (250 Message received: 20100413113004292.yyyyyyy.mta.xxxx.ne.jp@mta.xxxx.ne.jp)
postfix/qmgr[4901]: 0C96757C4: removed

# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu jaunty (development branch)
Release: 9.04
Codename: jaunty

# postconf mail_version
mail_version = 2.5.5
0503名無しさん@お腹いっぱい。
垢版 |
2010/04/13(火) 22:57:10
mail root
で送ったメールは期待通りに転送される寸前まで行ったが

postfix/smtp[4920]: AD1B357C1: to=<zzzzzz@yahoo.co.jp>, orig_to=<root>,
  relay=smtp.xxxx.ne.jp[xx.xx.xx.xx]:25, delay=0.26, delays=0.01/0.03/0.17/0.05, dsn=5.0.0,
  status=bounced (host smtp.xxxx.ne.jp[xx.xx.xx.xx] said: 553 myhost123.xxxx.ne.jp does not exist (in reply to MAIL FROM command))

とあるように yahoo.co.jp のサーバーでエンベロープFromのドメイン部分が存在しない
ので受け取りを拒否された。
で、エラーメールがrootに送られ、それは期待通りにzzzzzz@yahoo.co.jpへ転送された。
こっちはエンベロープFromが空(エラーメールはそうなる)なので受け取ってもらえた。

0504499
垢版 |
2010/04/13(火) 22:57:44
すみません、補足します
>relayhost = smtp.xxxx.ne.jp:25
このsmtpサーバーは私が回線契約しているプロバイダから指定されているもので
メーラー(EdMax)から認証無しで送信出来ています

それと、ドメインは持っておらず基本的に送信用で使います
0505499
垢版 |
2010/04/13(火) 22:59:25
>>503
レスありがとうございます
>エンベロープFrom
これについて調べてみます
0506499
垢版 |
2010/04/14(水) 01:22:41
エンベロープFromをzzzzzz@yahoo.co.jpに変えるようにしたところ(rootから出し直すイメージ)
正常に送れるようになりました
ありがとうございました

# vi /etc/postfix/main.cf
sender_canonical_maps = hash:/etc/postfix/sender_canonical
#ドメインを所有していないのでmyoriginを付ける意味が無い
append_at_myorigin = no

# vi /etc/postfix/sender_canonical
root zzzzzz@yahoo.co.jp

# cat /var/log/mail.log
postfix/pickup[5903]: 58E5A595F: uid=0 from=<root>
postfix/cleanup[5909]: 58E5A595F: message-id=<20100413155925.58E5A595F@myhost123>
postfix/qmgr[5904]: 58E5A595F: from=<zzzzzz@yahoo.co.jp>, size=351, nrcpt=1 (queue active)
postfix/cleanup[5909]: 6BEDA5960: message-id=<20100413155925.58E5A595F@myhost123>
postfix/qmgr[5904]: 6BEDA5960: from=<zzzzzz@yahoo.co.jp>, size=483, nrcpt=1 (queue active)
postfix/local[5911]: 58E5A595F: to=<root@myhost123>, relay=local, delay=0.14,
  delays=0.09/0.03/0/0.02, dsn=2.0.0, status=sent (forwarded as 6BEDA5960)
postfix/qmgr[5904]: 58E5A595F: removed
postfix/smtp[5912]: 6BEDA5960: to=<zzzzzz@yahoo.co.jp>, orig_to=<root@myhost123>,
  relay=smtp.xxx.ne.jp[xx.xx.xx.xx]:25, delay=0.72, delays=0.01/0.04/0.18/0.49, dsn=2.0.0,
  status=sent (250 Message received: 20100413155925700.yyyyyyy.mta.xxxx.ne.jp@mta.xxxx.ne.jp)
postfix/qmgr[5904]: 6BEDA5960: removed
0507名無しさん@お腹いっぱい。
垢版 |
2010/05/14(金) 14:26:48
質問させてください。自宅サーバから自分のau携帯向けにメールを送信したいと思っています。
色々調べたのですが送信できず、解決方法がわからないので教えてください。環境は以下の通りです
・グローバルIPはありません
・ブロードバンドルータでADSL接続
・サーバはcentOS5.4 + Postfix
・サーバのファイアウオール(smtp)は許可済み(http://www.dotup.org/uploda/www.dotup.org883724.png
・上記添付画像の、ポートの開放設定で25番を許可してももう一度設定画面を開くと追加したものが消えています。
(iptablesにも追加されてません)

この状態でphpのmailコマンドを実行したところメールは送られてきませんでした
maillogを見たところ、以下のようになっています。
 221 May 13 21:41:42 localhost postfix/smtp[9292]: connect to lsean.ezweb.ne.jp[222.15.69.195]:25: No route to host
 222 May 13 21:41:42 localhost postfix/smtp[9292]: 590421A3A3: to=<hogehogehoge@ezweb.ne.jp>, relay=none, delay=1155, delays=1152/0/3.1/0, dsn=4.4.1, status=deferred (connect to lsean.ezweb.ne.jp[222.15.69.195]:25: No route to host)
 223 May 13 21:41:48 localhost postfix/smtp[9293]: connect to lsean.ezweb.ne.jp[222.15.69.195]:25: No route to host
 224 May 13 21:41:48 localhost postfix/smtp[9293]: 193D71A39C: to=<hogehogehoge@ezweb.ne.jp>, relay=none, delay=4678, delays=4668/0/9.4/0, dsn=4.4.1, status=deferred (connect to lsean.ezweb.ne.jp[222.15.69.195]:25: No route to host)

原因は何でしょうか? これ以前のトライでも「No route to host」と言われ、上記の通りファイアウオール(smtp)を
許可して対応したのですがまだ同じことを言われてしまいます。
サーバの設定の問題なのか、それともネットワーク上で、他にも操作しなければいけないところがあるのでしょうか?
(その場合、ルータかなと思いますが、調べてもこれという情報が出て来なかったため触ってません)

続きます
0508507
垢版 |
2010/05/14(金) 14:29:20
<続きです>


ポート、ファイアウォールなどのネットワークの知識が疎いので変なことを書いてるかもしれません。
申し訳ないですが、対応方法をアドバイスよろしくお願いします。

あと、しばらくしてmaillogを更新したところ以下の3行が追加されていました。(その間mail関数など送信処理はしていません)
 225 May 13 21:56:47 localhost postfix/qmgr[6295]: 266E21A39F: from=<apache@mail.mydomain.com>, size=493, nrcpt=1 (queue active)
 226 May 13 21:56:47 localhost postfix/smtp[9721]: connect to lsean.ezweb.ne.jp[222.15.69.195]:25: No route to host
 227 May 13 21:56:47 localhost postfix/smtp[9721]: 266E21A39F: to=<hogehogehoge@ezweb.ne.jp>, relay=none, delay=2398, delays=2398/0.01/0.02/0, dsn=4.4.1, status=deferred (connect to lsean.ezweb.ne.jp[222.15.69.195]:25: No route to host)
これらはなぜ追加されたのでしょうか?


・メール送信が失敗する理由と解決方法
・25番ポートの開放設定が反映されない理由(これは普通のこと?)
・maillogに行がどんどん追加されてく理由(これは普通のこと?)

以上について御意見ください。

長文すみません、よろしくお願いします。
0509名無しさん@お腹いっぱい。
垢版 |
2010/05/14(金) 14:57:12
日本では現在、自宅サーバから外に直接メールを送ろうと考えること自体が間違い、
ということにされていて、やりたくでもできないようになっていることが多い。
詳細はOP25Bでぐぐれ。

回避方法はないでもないが、契約ISPごとに設定が異なるし、
>>507-508に書かれてる内容から当人の技量を想像するに、素直にやめておいた方が無難。
0510507
垢版 |
2010/05/14(金) 15:32:11
>>509
どうもありがとうです。OP25Bのことは聞いたことがあったんですが、
それ以前の設定の部分で間違っている部分はないんでしょうか?

なんと言うか、プロバイダのOP25B対策で送信失敗してるのなら良いんです。
それはとりあえずしょうがないので。
ただ、サーバのメール送信環境として、ちゃんとできているのか勉強したいので…

オライリーのPostfix実用ガイドという本を読みつつ勉強してるんですが、
ポートやファイアウォール、ルータの設定などがあまり書いてなくて、
maillogの見方も書いてないので参っています。
ググって調べはしたんですが、それでもよくわからないので、上記の環境とログから
OP25B以前の問題点がわかれば教えていただけると幸いです。
よろしくお願いします。
0512507
垢版 |
2010/05/14(金) 16:19:59
>>511
どうもです。一応、runlevel3でCUIでやってたんですが、
vmwareで動かしてるせいかカーソル移動が遅くてイライラして5で
ターミナル操作してやってます。
ルーターは普通の安物のルータなので、OS入れるとか難しいことはできません
このシリーズかな…
http://121ware.com/product/atermstation/product/museum/warp_7585_merit.html

webアプリの会員登録確認メール配信の為に開発環境にPostfix入れようと思ったんですが、
こんなに面倒なものだとは思わなかった
送信サーバをGmailにまかせても良いんでしょうけど、それも悔しいんですよね…
maillogのわかりやすい解説とか、ポートやfirewallとの関係説明してるサイトないでしょうか…
0513名無しさん@お腹いっぱい。
垢版 |
2010/05/14(金) 16:29:41
>それ以前の設定の部分で間違っている部分はないんでしょうか?

ファイアウォールを開けなきゃいけない、という思い込み。

外からのメールを受け取るのではなく、送るだけなら必要ない。
内から外へのアクセスも制限するようなルールを設定してるのら話は別だが。
0514507
垢版 |
2010/05/14(金) 16:38:15
>>513
どうもありがとうございます。
送信用にポート(25)を開く必要はあるんですよね?
ルータは何も触らなくても良いんでしょうか、凄い素人質問ですみません
0515名無しさん@お腹いっぱい。
垢版 |
2010/05/14(金) 16:47:03
>送信用にポート(25)を開く必要はあるんですよね?

開けてもいいけど、ISP が OP25B でふさいでるので意味ないよ。
0516507
垢版 |
2010/05/14(金) 16:55:27
>>515
なるほど、そういうことなんですね。
上の方で書いたログの内容から、OP25Bは置いといて、
サーバやpostfixの設定に問題があるかどうかはわからないのでしょうか。

25: No route to hostはエラーと言うかトラブルの報告だと思うんですが、
これがまさにOP25Bの影響ってことですか?
ログから見た限りでは、OP25B以外の送信失敗の原因はないと考えて良いんでしょうか。
0518名無しさん@お腹いっぱい。
垢版 |
2010/05/14(金) 23:28:06
>>507
ポート25 は受信に使うため。 送信そのものには必要ないですね。
だからファイアウォールで 25/tcp は開けなくていいです。
例えばメールソフトの Thunderbird を使ってて、25 番ポートは開けなくても
プロバイダの SMTP サーバを使ってメールを送信できるのと同じ。

> これらはなぜ追加されたのでしょうか?
* postfix がメールを ezweb に転送するアクションをとったから。
* デフォルトゲートウェイが設定されていないなどの理由で
インターネットへ出ていけない
(から No route to host というエラーがでる)

とりあえずデフォルトゲートウェイのチェックをして、そのあとは
relayhost か transport_map かを設定するあたりを勉強すれば
良いかと思う。
0520名無しさん@お腹いっぱい。
垢版 |
2010/05/15(土) 02:25:51
ポート25問題はこういうのをiptablesの早い段階で読み込ませればどーよ?
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 587 -j REDIRECT --to-ports 25
iptables -t nat -A PREROUTING -p tcp --dport 587 -j REDIRECT --to-ports 25
これで原因の切り分けができるんじゃねーの?
0522507
垢版 |
2010/05/15(土) 11:40:21
みなさん、ご親切にありがとうございます。
結局のところ、relayhostでプロバイダのsmtp指定してやや先に進みました
相変わらず送信成功まではしてないのですが、、

すみませんがもう一度maillogの見方について質問させてください
 440 May 14 04:40:57 localhost postfix/qmgr[19722]: A30BC1A398: from=<apache@mail.xxSAMPLExx.com>, size=493, nrcpt=1 (queue active)
 441 May 14 04:40:57 localhost postfix/qmgr[19722]: 193D71A39C: from=<apache@mail.xxSAMPLExx.com>, size=493, nrcpt=1 (queue active)
 442 May 14 04:40:58 localhost postfix/smtp[20590]: A30BC1A398: to=<hogehoge@ezweb.ne.jp>, relay=smtp06.isp.ne.jp[143.000.14.5]:25,delay=29830,
 delays=29830/0.01/0.07/0.03, dsn=5.0.0, status=bounced (host smtp06.isp.ne.jp[143.000.14.5] said: 553 mail.xxSAMPLExx.com does not exist (in reply to MAIL FROM command))

・440,441のfromとして指定されているメールアドレスは、サーバのどの設定ファイルに書いてあるんでしょうか?
 自分で立てたサーバのくせに恥ずかしながらわかりません。
 Postfixやapacheのhttpd.conf, php.iniなど関連ありそうな設定ファイルを確認したんですが見つかりませんでした
 ゾーン設定ファイルにもapache@〜なんて書かなかったし。
 もしかして、xxSAMPLExx.comのapache(=apacheの実行ユーザ)から送られたメール(キュー)ってことですか?
・442は、mail.xxSAMPLExx.comというサーバが見つからなかったから、そんなアヤシイメールは受け取れないってことで
 ISPのSMTPに拒絶されたってことでしょうか? だとしたら、ドメインとって業者のDNSに登録しなきゃ送信できないんでしょうか?

あと、このOP25Bはプロバイダが自分のネットワークからの不正なメールを配信しないための手続きですよね
ということは、ホスティングのレンタルサーバを借りた時は、考慮しなくても良いのでしょうか
ホスティング事業者によっては同じ対策をとってるんでしょうか?
0525507
垢版 |
2010/05/15(土) 16:49:26
>>523
スレ違いですか?
>>524
まあそういわずに、気がむいたらアドバイスお願いします
0527518
垢版 |
2010/05/16(日) 01:29:23
>>522
まずphp抜きにしてそのサーバからメールが出るようになるところまでやってから
それからphpなんじゃね? 「切り分け」しようよ。
あとそれから、他の質問スレとかみればわかるけど、設定ファイル・パラメータ
を晒さないと、こちらとしても回答しようがない。

> ・440,441のfromとして指定されているメールアドレスは、
> サーバのどの設定ファイルに書いてあるんでしょうか?
とりあえず設定ファイル晒すところから。
まぁmyhostname や mydomain あたり、OS のホスト名あたりだと思うんだが。

> ・442は、mail.xxSAMPLExx.comというサーバが見つからなかったから、そんな
> アヤシイメールは受け取れないってことでISPのSMTPに拒絶されたってことでしょうか?
俺ISPじゃないから断定できないけど、状況から間違いなくYes

> だとしたら、ドメインとって業者のDNSに登録しなきゃ送信できないんでしょうか?
From が apache@〜じゃなくてお前がいつもそのISPで使ってるメアドになるように
すればいいだけ。
ISPによってはISPと関わりないメールは通さない可能性もあるわけで。
0530507
垢版 |
2010/05/16(日) 08:42:47
>>518
どうもです。ありがとう。
ここだと板違いらしいので、自宅鯖の質問スレに移動することにしました。
http://pc11.2ch.net/test/read.cgi/mysv/1273030149

問題の切り分けはした方が良いですね、postfixじゃなくてsendmailのオライリー本読んで
maillogの見方を勉強しようとも思います(載ってるのかなー
アドバイス何度もありがとうございました
0532MLワッチ
垢版 |
2010/05/24(月) 19:30:20
port番号をログるのにmilterでどうのって話をしているが
smtpd_client_port_logging (default: no)
Enable logging of the remote SMTP client port in addition to the hostname and IP address. The logging format is "host[address]:port".
This feature is available in Postfix 2.5 and later.
ではいかんのだろうか?
0533名無しさん@お腹いっぱい。
垢版 |
2010/05/31(月) 14:34:24
qmgrのCPU使用率が高いんだけど原因はなにが考えられますか?
メールは全部リレーに投げていて、qshapeやqshape deferredを見ても
せいぜい10通(普段は0通〜1通)な状況で、topコマンドでqmgrのCPU使用率が
40%付近にいます。ディスクアクセスにしてもおかしいですよね。
HDDの使用率は96G/125Gで82%くらい、メモリは12Gでほとんどスワップは起こしていません。
似たようなシステムを10数個つくってるんだけどqmgrの負荷が高いのは一カ所だけで
気持ち悪いです
0534名無しさん@お腹いっぱい。
垢版 |
2010/06/17(木) 03:21:36
relayhostは自分が処理しないメールの依頼先、
transportは配送方法の指定、というのはわかるのですが
transportの配送先に通常のsmtpで接続する先を書いたらつまり
自分が処理しないで依頼するって事ですよね。どこかでtransportに
書くのとrelayhostに書くのは意味が違うっていう記述をみたのですが、
結果として動作は一緒ではないのでしょうか?
送信できずにbounceする時の処理とかも含めて特に違いはないと思うのですが
0535名無しさん@お腹いっぱい。
垢版 |
2010/06/17(木) 12:41:05
>>534
transportは特定宛先の委任先
relayhostは特定されていないもの全ての委任先

たとえばインターネットゲートウェイとなっているホストAと、
ファイアウォールの奥にあり実際のユーザのメールスプールがありMUAの相手をするメールサーバBがあった場合
この二者を連携させて動かすには
A は transport に
example.com: b.example.com
と書き
B は relayhost として a.example.com を書いておけば良い
0536名無しさん@お腹いっぱい。
垢版 |
2010/06/17(木) 12:59:37
>>535
書き方は知っていて実際使っているのですが、質問はtransportに

examle.com :[example.relay.server]
* :[default.relay.server]

と書いた場合と、transportには

examle.com :[example.relay.server]

だけ、main.cfで

relayhost=[default.relay.server]

と書いた場合ではなにか違うのでしょうか?ということです。
ネットで検索してたら後者でうまくいかない人に対して「全部transportで
やったら?」、とか「relayhostとtransportは意味合い違うから」みたいな発言があって
でも結果して動作は一緒じゃないのかなあっていうのが質問の主旨です。
0537536
垢版 |
2010/06/17(木) 13:03:36
自分は今まで後者の「transport+relayhost」でやっていたのですが、全部transportでやるべきなのか、
実際エラー時のバウンスなのでなにか挙動か違うのかを聞きたいなと。自分で確認した限りでは
違わないと思うのですが、MLの発言など見るとrelayhostはtransportのデフォルト配送先ではないとあったので。
0538名無しさん@お腹いっぱい。
垢版 |
2010/06/17(木) 15:39:16
>「relayhostとtransportは意味合い違うから」みたいな発言があって
この「意味合い違う」というのは
relayhost は何も考えず素のまま配送、(何も細工できない)
transport は色々細工して配送(色々いじれる)
ってことじゃないの?

そもそも transport に * を書けるというのを今初めて知ったが
確かに transport(5) に書いてあるな…
0539名無しさん@お腹いっぱい。
垢版 |
2010/06/19(土) 00:17:25
relayhostは「自分で配送ルートを考えないホストのための機能」で
transportは「配送ルートを色々考えるホストのための機能」だと思うんだな。

自分で配送ルートを考えないホストっていうのはつまりクライアント的ホストで
サイト全体ためのメールハブサーバーがあって、そいつにメールをお任せできる
ような環境では、ワークステーションはメールハブサーバーをrelayhostに指定する。

「ワークステーションはMUA(thunderbirdなど)でSMTPサーバーの指定を
メールハブサーバーにすればいいんじゃね?」という疑問も当然なのだが
昔のMUAはローカルにしか配信できなかったり、複数ユーザーでシェアして
使うことも多かったのでMUAがメールハブサーバーを指定するという運用は
普通ではなかったのれす。


レスを投稿する


ニューススポーツなんでも実況