Автор Тема: Изпращане на поща от команден ред  (Прочетена 537 пъти)

d1saster

  • Напреднали
  • *****
  • Публикации: 182
    • Профил
Опитвам се да изпратя e-mail от команден ред, но не успявам. Slackware, 2.6.19.1, strong firewall

$mail user@cox.net

Настройките в ~/.mailrc са:
account cox {
set folder=pop3://pop.west.cox.net
set smtp=smtp://smtp.west.cox.net
set from="user@cox.net"
set smtp-auth=login
set smtp-auth-user=user
set smtp-auth-password=password
}

sendmail е стартиран

Ето и грешката в лог файла /var/log/maillog:
Jan 24 12:25:13 deyanivanov sm-mta[11589]: l0OJsa1d011478: to=<user@cox.net>, ctladdr=<family@deyanivanov.net> (1000/100), delay=00:30:37, xdelay=00:06:48, mailer=esmtp, pri=210449, relay=mx.central.cox.net. [70.168.47.164], dsn=4.0.0, stat=Deferred: Connection timed out with mx.central.cox.net.

relay=mx.central.cox.net не е правилният сървър. Отделно като си проверявам пощата изобщо не се свързва с отдалечения акаунт. Къде бъркам? Благодаря предварително.
Активен

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
Изпращане на поща от команден ред
« Отговор #1 -: Jan 25, 2007, 01:11 »
Примерен код

$ dig -t mx cox.net

; <<>> DiG 9.3.2 <<>> -t mx cox.net
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56339
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 3, ADDITIONAL: 7

;; QUESTION SECTION:
;cox.net.                       IN      MX

;; ANSWER SECTION:
cox.net.                33256   IN      MX      100 mx.east.cox.net.
cox.net.                33256   IN      MX      100 mx.west.cox.net.
cox.net.                33256   IN      MX      100 mx.central.cox.net.
cox.net.                33256   IN      MX      100 mx1.west.cox.net.

;; AUTHORITY SECTION:
cox.net.                83396   IN      NS      ns.cox.net.
cox.net.                83396   IN      NS      ns.east.cox.net.
cox.net.                83396   IN      NS      ns.west.cox.net.

;; ADDITIONAL SECTION:
mx.east.cox.net.        33256   IN      A       68.1.17.3
mx.west.cox.net.        33256   IN      A       68.6.19.3
mx.central.cox.net.     33256   IN      A       70.168.47.164
mx1.west.cox.net.       33256   IN      A       68.6.19.3
ns.cox.net.             63043   IN      A       68.1.16.100
ns.east.cox.net.        63043   IN      A       68.1.16.101
ns.west.cox.net.        63043   IN      A       68.111.106.76

;; Query time: 45 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Thu Jan 25 01:04:05 2007
;; MSG SIZE  rcvd: 283


mail се свързва със Sendmail сървъра на твоята машина и му предава писмото до user@cox.net. Той от своя страна трябва да го достави до user@cox.net. Това става така:

1) прави се запитване до DNS сървъра, обслужващ cox.net, за MX записи за този домейн
2) взема се сървъра с най-нисък приоритет, ако има повече от един такива се взема първия върнат (ако се не лъжа)
3) осъществява се SMTP връзка към този сървър и се опитва доставка на писмото, ако не може да се осъществи връзката  се пробва да се свърже със следващия по приоритет


За проверяването на пощата нямам идея.
Активен

d1saster

  • Напреднали
  • *****
  • Публикации: 182
    • Профил
Изпращане на поща от команден ред
« Отговор #2 -: Jan 25, 2007, 02:22 »
Трябва да се постави името на SMTP сървъра в /etc/mail/sendmail.conf, а именно:

...
# "Smart" relay host (may be null)
DSsmtp.west.cox.net
...

Проблема е решен.
Активен