This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
протокол_smtp_и_mail_transfer_agent [2009/05/27 10:38] val |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Протокол SMTP и Mail Transfer Agent ====== | ||
- | |||
- | ===== Пример SMTP диалога ===== | ||
- | <code> | ||
- | [gX:~] # telnet g50.class 25 | ||
- | ... | ||
- | HELO gX.dX.class | ||
- | ... | ||
- | MAIL FROM: root@gX.dX.class | ||
- | ... | ||
- | RCPT TO: root@g50.class | ||
- | ... | ||
- | DATA | ||
- | ... | ||
- | To: root@g50.class | ||
- | Subject: test | ||
- | |||
- | test | ||
- | . | ||
- | |||
- | QUIT | ||
- | </code> | ||
- | |||
- | ===== Конфигурация службы MTA ===== | ||
- | |||
- | ==== Установка и настройка MTA на обработку почты домена hostname ==== | ||
- | |||
- | === FreeBSD (sendmail) === | ||
- | <code> | ||
- | [gX:~] # more /usr/share/sendmail/cf/README | ||
- | |||
- | [gX:~] # cd /etc/mail | ||
- | |||
- | [gX:/etc/mail] # cat gX.dX.class.mc | ||
- | OSTYPE(freebsd6) | ||
- | MAILER(local) | ||
- | MAILER(smtp) | ||
- | |||
- | [gX:/etc/mail] # make cf | ||
- | [gX:/etc/mail] # make install | ||
- | |||
- | [gX:/etc/mail] # cat /etc/rc.conf | ||
- | ... | ||
- | sendmail_enable="YES" | ||
- | |||
- | [gX:/etc/mail] # /etc/rc.d/sendmail restart | ||
- | </code> | ||
- | |||
- | === Ubuntu (postfix) === | ||
- | <code> | ||
- | root@gX:~# apt-get install postfix mailx | ||
- | General type of mail configuration: Internet Site | ||
- | System mail name: gX.dX.class | ||
- | |||
- | root@gX:~# man 5 postconf | ||
- | |||
- | root@gX:~# cat /etc/aliases | ||
- | # Added by installer for initial user | ||
- | # root: student | ||
- | |||
- | root@gX:~# newaliases | ||
- | </code> | ||
- | |||
- | ==== Использование UA mail ==== | ||
- | |||
- | === Отправка почты === | ||
- | <code> | ||
- | gX# mail root | ||
- | |||
- | gX# mail root@gX.dX.class | ||
- | </code> | ||
- | |||
- | === Чтение почты === | ||
- | <code> | ||
- | gX# mail | ||
- | Mail version 8.1 6/6/93. Type ? for help. | ||
- | "/var/mail/root": 2 messages 2 new | ||
- | >N 1 user@cX.dX.class Wed Oct 26 16:33 22/814 "w" | ||
- | N 2 root@cX.dX.class Wed Oct 26 16:35 12/425 | ||
- | </code> | ||
- | |||
- | === Команды UA mail === | ||
- | <code> | ||
- | h - список писем | ||
- | номер - читать письмо с указанным номером | ||
- | d 1-4 - удалить письма с 1 по 4 | ||
- | d * - удалить все письма | ||
- | r номер - написать ответ на письмо с указанным номером | ||
- | ? - help | ||
- | q - выход | ||
- | </code> | ||
- | |||
- | ==== Настройка MTA на обработку почты домена dX.class ==== | ||
- | |||
- | === Настройка DNS === | ||
- | |||
- | == FreeBSD == | ||
- | <code> | ||
- | [gX:~] # cd /etc/namedb/master/ | ||
- | </code> | ||
- | |||
- | == Ubuntu == | ||
- | <code> | ||
- | root@gX:~# cd /var/cache/bind/ | ||
- | </code> | ||
- | |||
- | == FreeBSD/Ubuntu == | ||
- | <code> | ||
- | gX# cat dX.class | ||
- | $TTL 3h | ||
- | dX.class. SOA gX.class. root.gX.class. 2 1d 12h 1w 3h | ||
- | NS gX.class. | ||
- | A 172.16.1.X | ||
- | ... | ||
- | |||
- | gX # nslookup -q=A dX.class | ||
- | </code> | ||
- | |||
- | === Настройка MTA sendmail (FreeBSD) === | ||
- | <code> | ||
- | [gX:/etc/mail] # cat gX.dX.class.mc | ||
- | OSTYPE(freebsd6) | ||
- | FEATURE(`use_cw_file') | ||
- | MAILER(local) | ||
- | MAILER(smtp) | ||
- | |||
- | [gX:/etc/mail] # cat local-host-names | ||
- | dX.class | ||
- | |||
- | [gX:/etc/mail] # make cf | ||
- | [gX:/etc/mail] # make install | ||
- | |||
- | [gX:/etc/mail] # /etc/rc.d/sendmail restart | ||
- | </code> | ||
- | |||
- | === Настройка MTA postfix (Ubuntu) === | ||
- | <code> | ||
- | root@gX:~# rcsdiff /etc/postfix/main.cf | ||
- | < mydestination = gX.dX.class, localhost.dX.class, , localhost | ||
- | --- | ||
- | > mydestination = gX.dX.class, localhost.dX.class, dX.class, localhost | ||
- | |||
- | root@gX:~# /etc/init.d/postfix force-reload | ||
- | </code> | ||
- | |||
- | ==== Настройка MTA на использование MTA провайдера ==== | ||
- | |||
- | === sendmail (FreeBSD) === | ||
- | <code> | ||
- | [cX:/etc/mail] # cat cX.dX.class.mc | ||
- | OSTYPE(freebsd6) | ||
- | define(`SMART_HOST', `gX.dX.class') | ||
- | MAILER(local) | ||
- | MAILER(smtp) | ||
- | |||
- | [cX:/etc/mail] # make cf | ||
- | [cX:/etc/mail] # make install | ||
- | [cX:/etc/mail] # /etc/rc.d/sendmail restart | ||
- | </code> | ||
- | |||
- | === postfix (Ubuntu) === | ||
- | <code> | ||
- | root@cX:~# apt-get install postfix mailx | ||
- | General type of mail configuration: Internet Site | ||
- | System mail name: cX.dX.class | ||
- | |||
- | root@gX:~# cat /etc/aliases | ||
- | # Added by installer for initial user | ||
- | # root: student | ||
- | |||
- | root@gX:~# newaliases | ||
- | |||
- | root@cX:~# rcsdiff /etc/postfix/main.cf | ||
- | 35c35 | ||
- | < relayhost = | ||
- | --- | ||
- | > relayhost = gX.dX.class | ||
- | </code> | ||
- | |||
- | ==== Настройка MTA на релеинг почты из локальной сети ==== | ||
- | |||
- | === sendmail (FreeBSD) === | ||
- | <code> | ||
- | [gX:/etc/mail] # cat gX.class.mc | ||
- | OSTYPE(freebsd6) | ||
- | FEATURE(`use_cw_file') | ||
- | FEATURE(access_db, `hash -o -T<TMPF> /etc/mail/access') | ||
- | MAILER(local) | ||
- | MAILER(smtp) | ||
- | |||
- | [gX:/etc/mail] # cat access | ||
- | 192.168.X RELAY | ||
- | |||
- | [gX:/etc/mail] # make maps | ||
- | [gX:/etc/mail] # make cf | ||
- | [gX:/etc/mail] # make install | ||
- | [gX:/etc/mail] # /etc/rc.d/sendmail restart | ||
- | </code> | ||
- | |||
- | === postfix (Ubuntu) === | ||
- | <code> | ||
- | root@g13:~# rcsdiff /etc/postfix/main.cf | ||
- | 36c36 | ||
- | < mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 | ||
- | --- | ||
- | > mynetworks = 127.0.0.0/8 192.168.13.0/24 | ||
- | </code> | ||
- | |||
- | ==== Настройка MTA на релеинг почты домена cX.dX.class ==== | ||
- | |||
- | === Настройка в DNS MX записей домена cX.dX.class === | ||
- | <code> | ||
- | gX# cat dX.class | ||
- | … | ||
- | cX A 192.168.X.10 | ||
- | MX 2 gX.class. | ||
- | MX 1 cX | ||
- | … | ||
- | </code> | ||
- | |||
- | Примечание: | ||
- | Использование DNS View позволяет для внешних хостов указывать один почтовый сервер, а внутри другой. Это позволит обойтись без задержек при отправке почты. | ||
- | |||
- | === Запуск MTA почтового домена cX.dX.class (FreeBSD) === | ||
- | <code> | ||
- | [cX:~] # cat /etc/rc.conf | ||
- | ... | ||
- | sendmail_enable="YES" | ||
- | |||
- | [cX:~] # /etc/rc.d/sendmail restart | ||
- | </code> | ||
- | |||
- | === Настройка MTA релея sendmail (FreeBSD) === | ||
- | <code> | ||
- | [gX:/etc/mail] # cat access | ||
- | cX.dX.class RELAY | ||
- | |||
- | [gX:/etc/mail] # make maps | ||
- | </code> | ||
- | |||
- | === Настройка MTA релея postfix (Ubuntu) === | ||
- | <code> | ||
- | root@gX:~# rcsdiff /etc/postfix/main.cf | ||
- | 40a41 | ||
- | > permit_mx_backup = cX.dX.class | ||
- | </code> | ||
- | |||
- | ==== Настройка MTA на релеинг почты на основе аутентификации ==== | ||
- | [[http://www.freebsd.org/doc/en/books/handbook/smtp-auth.html]] | ||
- | |||
- | ==== Использование почтовых псевдонимов ==== | ||
- | |||
- | === FreeBSD === | ||
- | <code> | ||
- | [gX:~] # cat /etc/mail/aliases | ||
- | </code> | ||
- | |||
- | === Ubuntu === | ||
- | <code> | ||
- | root@gX:~# cat /etc/aliases | ||
- | </code> | ||
- | |||
- | === FreeBSD/Ubuntu === | ||
- | <code> | ||
- | ... | ||
- | root: root, root@g50.class | ||
- | ... | ||
- | </code><code> | ||
- | gX# newaliases | ||
- | |||
- | gX# mail root | ||
- | </code> | ||
- | |||
- | ==== Использование виртуальных почтовых доменов ==== | ||
- | |||
- | Домен cX.dX.class | ||
- | |||
- | === Настройка DNS === | ||
- | <code> | ||
- | gX# cat dX.class | ||
- | ... | ||
- | cX A 192.168.X.10 | ||
- | MX 2 gX.class. | ||
- | ... | ||
- | </code> | ||
- | |||
- | === Добавление учетных записей пользователей виртуального домена === | ||
- | |||
- | == FreeBSD == | ||
- | <code> | ||
- | [gX:/etc/mail] # adduser | ||
- | Username: mailuser | ||
- | … | ||
- | shell: nologin | ||
- | … | ||
- | </code> | ||
- | |||
- | == Ubuntu == | ||
- | <code> | ||
- | root@g13:~# adduser mailuser | ||
- | ... | ||
- | |||
- | root@g13:~# chsh mailuser | ||
- | ... | ||
- | Login Shell [/bin/bash]: /usr/sbin/nologin | ||
- | </code> | ||
- | |||
- | === Настройка MTA на поддержку виртуального домена === | ||
- | |||
- | == sendmail (FreeBSD) == | ||
- | <code> | ||
- | [gX:/etc/mail] # cat access | ||
- | 192.168.X RELAY | ||
- | # cX.dX.class RELAY | ||
- | |||
- | [gX:/etc/mail] # cat local-host-names | ||
- | dX.class | ||
- | cX.dX.class | ||
- | |||
- | [gX:/etc/mail] # grep virt freebsd.mc | ||
- | |||
- | [gX:/etc/mail] # cat gX.class.mc | ||
- | OSTYPE(freebsd6) | ||
- | FEATURE(`use_cw_file') | ||
- | FEATURE(access_db, `hash -o -T<TMPF> /etc/mail/access') | ||
- | FEATURE(virtusertable, `hash -o /etc/mail/virtusertable') | ||
- | MAILER(local) | ||
- | MAILER(smtp) | ||
- | |||
- | [gX:/etc/mail] # cat virtusertable | ||
- | root@cX.dX.class mailuser | ||
- | |||
- | [gX:/etc/mail] # make maps | ||
- | [gX:/etc/mail] # make cf | ||
- | [gX:/etc/mail] # make install | ||
- | [gX:/etc/mail] # /etc/rc.d/sendmail restart | ||
- | </code> | ||
- | |||
- | == postfix (Ubuntu) == | ||
- | <code> | ||
- | root@gX:~# rcsdiff /etc/postfix/main.cf | ||
- | 41c41,42 | ||
- | < permit_mx_backup = cX.dX.class | ||
- | --- | ||
- | > virtual_alias_domains = cX.dX.class | ||
- | > virtual_alias_maps = hash:/etc/postfix/virtual | ||
- | |||
- | root@gX:~# cat /etc/postfix/virtual | ||
- | root@cX.dX.class mailuser | ||
- | |||
- | root@gX:~# postmap /etc/postfix/virtual | ||
- | |||
- | root@gX:~# /etc/init.d/postfix force-reload | ||
- | </code> | ||
- | |||
- | === Тестирование === | ||
- | <code> | ||
- | gX# mail root@cX.dX.class | ||
- | |||
- | gX# mail –u mailuser | ||
- | </code> | ||