Настройка почты только для отправки



Существует множество случаев, когда может потребоваться только отправка почты через почтовый сервер. Вот отдельные примеры:

• У вас настольный компьютер, но вы хотите использовать такие программы как send-pr(1). Для пересылки почты вам потребуется использовать почтовый сервер провайдера.

• Ваш компьютер является сервером, где почта не хранится локально, необходима только переправка всей почты через внешний почтовый сервер.

Практически любой MTA способен работать и в этих условиях. К сожалению, может быть очень сложно правильно настроить полноценный MTA для работы только с исходящей почтой. Такие программы, как sendmail и postfix слишком избыточны для этих целей.

К тому же, если вы используете обычные средства доступа в интернет, условий для запуска ''почтового сервера'' может быть недостаточно.

Простейшим способом удовлетворить имеющиеся потребности может быть установка порта mail/ssmtp. Выполните под root следующие команды:

# cd /usr/ports/mail/ssmtp

# make install replace clean

После установки потребуется настроить mail/ssmtp с помощью файла из четырех строк, расположенного в /usr/local/etc/ssmtp/ssmtp.conf:

root=yourrealemail@example.com

mailhub=mail.example.com

rewriteDomain=example.com

hostname=_HOSTNAME_

Убедитесь, что используете существующий почтовый адрес для root. Введите сервер вашего провайдера для пересылки исходящей почты вместо mail.example.com (некоторые провайдеры называют его ''сервером исходящей почты'' или ''SMTP сервером'').

Убедитесь, что вы выключили sendmail, включая сервис исходящей почты. За подробностями обращайтесь к Разд. 25.4.2.

У пакета mail/ssmtp имеются и другие параметры. Обратитесь к файлу с примером настройки в /usr/local/etc/ssmtp или к странице справочника ssmtp за примерами и дополнительной информацией.

Установка ssmtp таким способом позволит правильно работать любым программам на вашем компьютере, которым требуется отправка почты, но не нарушит политику вашего провайдера и не позволит вашему компьютеру быть использованным спамерами.

Использование почты с коммутируемым соединением

Если у вас есть статический IP, настройки по умолчанию менять не потребуется. Установите имя хоста в соответствии с присвоенным именем интернет и sendmail будет делать свою работу.

Если у вас динамический IP адрес и используется коммутируемое PPP соединение с интернет, у вас возможно уже есть почтовый ящик на сервере провайдера. Предположим, что домен провайдера называется example.net, и что ваше имя пользователя user, ваш компьютер называется bsd.home, и провайдер сообщил вам, что возможно использование relay.example.net в качестве сервера для пересылки почты.

Для получения почты из почтового ящика необходима установка соответствующей программы. Хорошим выбором является утилита fetchmail, она поддерживает множество различных протоколов. Эта программа доступна в виде пакета или из Коллекции Портов (mail/fetchmail). Обычно провайдер предоставляет доступ по протоколу POP. Если вы работаете с пользовательским PPP, то можете автоматически забирать почту после установления соединения с интернет с помощью следующей записи в /etc/ppp/ppp.linkup:

MYADDR:

!bg su user -c fetchmail

Если вы используете sendmail (как показано ниже) для доставки почты к не-локальным учетным записям, вам возможно потребуется обработка почтовой очереди sendmail сразу после установки соединения с интернет. Для выполнения этой работы поместите в /etc/ppp/ppp.linkup следующую команду сразу после fetchmail:

!bg su user -c "sendmail -q"

Предполагается, что учетная запись для user существует на bsd.home. В домашнем каталоге user на bsd.home, создайте файл .fetchmailrc:

poll example.net protocol pop3 fetchall pass MySecret

Этот файл не должен быть доступен на чтение никому, кроме user, поскольку в нем находится пароль MySecret.

Для отправки почты с правильным заголовком from:, вам потребуется сообщить sendmail использовать <user@example.net> вместо <user@bsd.home>. Вы можете также указать sendmail отправлять почту через relay.example.net, для более быстрой пересылки почты.

Должен подойти следующий файл .mc:

VERSIONID(`bsd.home.mc version 1.0')

OSTYPE(bsd4.4)dnl

FEATURE(nouucp)dnl

MAILER(local)dnl

MAILER(smtp)dnl

Cwlocalhost

Cwbsd.home

MASQUERADE_AS(`example.net')dnl

FEATURE(allmasquerade)dnl

FEATURE(masquerade_envelope)dnl

FEATURE(nocanonify)dnl

FEATURE(nodns)dnl

define(`SMART_HOST', `relay.example.net')

Dmbsd.home

define(`confDOMAIN_NAME',`bsd.home')dnl

define(`confDELIVERY_MODE',`deferred')dnl

Обратитесь к предыдущему разделу за информацией о том, как преобразовать этот файл .mc в файл sendmail.cf. Не забудьте также перезапустить sendmail после обновления sendmail.cf.

SMTP аутентификация

Наличие SMTP аутентификации на почтовом сервере дает множество преимуществ. SMTP аутентификация может добавить дополнительный уровень безопасности к sendmail, и позволяет мобильным пользователям, подключающимся к разным хостам, возможность использовать тот же почтовый сервер без необходимости перенастройки почтового клиента при каждом подключении.

1. Установите security/cyrus-sasl2 из портов. Вы можете найти этот порт в security/cyrus-sasl2. В пакете security/cyrus-sasl2 есть множество параметров компиляции. Для используемого здесь метода SMTP аутентификации убедитесь, что параметр LOGIN не отключен.

2. После установки security/cyrus-sasl2, отредактируйте /usr/local/lib/sasl2/Sendmail.conf (или создайте его если он не существует) и добавьте следующую строку:

pwcheck_method: saslauthd

3. Затем установите security/cyrus-sasl2-saslauthd и добавьте в /etc/rc.conf следующую строку:

saslauthd_enable="YES"

а затем запустите saslauthd:

# /usr/local/etc/rc.d/saslauthd start

Этот даемон является посредником для аутентификации sendmail через базу данных passwd FreeBSD. Это позволяет избежать проблем, связанных с созданием нового набора имен пользователей и паролей для каждого пользователя, которому необходима SMTP аутентификация, пароль для входа в систему и для отправки почты будет одним и тем же.

4. Теперь отредактируйте /etc/make.conf и добавьте следующие строки:

SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL

SENDMAIL_LDFLAGS=-L/usr/local/lib

SENDMAIL_LDADD=-lsasl2

Эти параметры необходимы sendmail для подключения cyrus-sasl2 во время компиляции. Убедитесь, что cyrus-sasl2 был установлен до перекомпиляции sendmail.

5. Перекомпилируйте sendmail, выполнив следующие команды:

# cd /usr/src/lib/libsmutil

# make cleandir && make obj && make

# cd /usr/src/lib/libsm

# make cleandir && make obj && make

# cd /usr/src/usr.sbin/sendmail

# make cleandir && make obj && make && make install

Компиляция sendmail должна пройти без проблем, если /usr/src не был сильно изменен и доступны необходимые разделяемые библиотеки.

6. После компилирования и переустановки sendmail, отредактируйте файл /etc/mail/freebsd.mc (или тот файл, который используется в качестве .mc; многие администраторы используют в качестве имени этого файла вывод hostname(1) для обеспечения уникальности). Добавьте к нему следующие строки:

dnl set SASL options

TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl

define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl

Эти параметры настраивают различные методы, доступные sendmail для аутентификации пользователей. Если вы хотите использовать вместо pwcheck другой метод, обратитесь к прилагаемой документации.

7. Наконец, запустите make(1) в каталоге /etc/mail. Из файла .mc будет создан файл .cf, называющийся freebsd.cf (или с тем именем, которое было использовано для файла .mc). Затем используйте команду make install restart, которая скопирует файл в sendmail.cf, и правильно перезапустит sendmail. Дополнительная информация об этом процессе находится в /etc/mail/Makefile.

Если все шаги пройдены успешно, введите информацию для аутентификации в настройки почтового клиента и отправьте тестовое сообщение. Для определения причин возможных ошибок установите параметр sendmail LogLevel в 13 и просмотрите /var/log/maillog.

За дальнейшей информацией обратитесь к странице sendmail, посвященной SMTP аутентификации (http://www.sendmail.org/~ca/email/auth.html).


Дата добавления: 2018-10-26; просмотров: 211; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!