Как установить Postfix на CentOS 6
Статус: устарело
В этой статье рассматривается версия CentOS, которая больше не поддерживается. Если вы в настоящее время используете сервер под управлением CentOS 6, мы настоятельно рекомендуем обновить или перейти на поддерживаемую версию CentOS.
Причина:
См. вместо этого:
О Постфиксе
Postfix — это бесплатный агент передачи почты с открытым исходным кодом, который работает для маршрутизации и доставки электронной почты. Cyrus — это сервер, который помогает организовать саму почту.
Шаг первый — установите Postfix и Cyrus
Первое, что нужно сделать, это установить postfix и Cyrus на ваш виртуальный частный сервер, и самый простой способ сделать это — через установщик yum.
sudo yum install postfix
sudo yum install cyrus-sasl sudo yum install cyrus-imapd
Говорите «Да» подсказке каждый раз, когда она спрашивает. После загрузки всех компонентов у вас будут установлены postfix и cyrus.
Шаг второй — настроить Postfix
Мы собираемся настроить обе программы по отдельности.
Сначала откройте основной файл конфигурации Postfix.
sudo vi /etc/postfix/main.cf
Файл конфигурации postfix очень удобен и подробен, предоставляя почти всю информацию, необходимую для запуска программы на вашем VPS. К сожалению, это также приводит к очень длинному файлу.
Предлагаемый ниже код в большинстве случаев представляет собой просто укороченную и правильно раскомментированную версию того, что уже есть в файле. Для быстрой настройки, которая предоставит вам все необходимые конфигурации для настройки postfix, скопируйте и вставьте приведенную ниже информацию поверх текущей конфигурации Postfix. Будьте осторожны, чтобы исправить доменные имена в myhostname и my domain.
Замените example.com в строке myhostname доменным именем, одобренным DNS. Убедитесь, что фраза по-прежнему mail.yourdomainname здесь
Замените example.com в строке mydomain правильным доменным именем.
soft_bounce = no queue_directory = /var/spool/postfix command_directory = /usr/sbin daemon_directory = /usr/libexec/postfix mail_owner = postfix # The default_privs parameter specifies the default rights used by # the local delivery agent for delivery to external file or command. # These rights are used in the absence of a recipient user context. # DO NOT SPECIFY A PRIVILEGED USER OR THE POSTFIX OWNER. # #default_privs = nobody myhostname = mail.example.com mydomain = example.com mydestination = $myhostname, localhost unknown_local_recipient_reject_code = 550 mynetworks_style = host mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp local_destination_recipient_limit = 300 local_destination_concurrency_limit = 5 recipient_delimiter=+ virtual_alias_maps = hash:/etc/postfix/virtual header_checks = regexp:/etc/postfix/header_checks mime_header_checks = pcre:/etc/postfix/body_checks smtpd_banner = $myhostname debug_peer_level = 2 debugger_command = PATH=/bin:/usr/bin:/usr/bin:/usr/X11R6/bin xxgdb $daemon_directory/$process_name $process_id & sleep 5 sendmail_path = /usr/sbin/sendmail.postfix newaliases_path = /usr/bin/newaliases.postfix mailq_path = /usr/bin/mailq.postfix setgid_group = postdrop html_directory = no manpage_directory = /usr/share/man sample_directory = /usr/share/doc/postfix-2.3.3/samples readme_directory = /usr/share/doc/postfix-2.3.3/README_FILES smtpd_sasl_auth_enable = yes smtpd_sasl_application_name = smtpd smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, reject_invalid_hostname, reject_non_fqdn_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_pipelining, reject_rbl_client zen.spamhaus.org, reject_rbl_client bl.spamcop.net, reject_rbl_client dnsbl.njabl.org, reject_rbl_client dnsbl.sorbs.net, permit smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = broken_sasl_auth_clients = yes smtpd_helo_required = yes
Шаг третий — доработка Postfix
Вставив нужные конфиги, мы почти закончили настройку постфикса на нашем виртуальном сервере.
Чтобы предотвратить любые ошибки, нам нужно выполнить еще два шага
В конфиге мы включили виртуальные алиасы строкой virtual_alias_maps=hash:/etc/postfix/virtual; Теперь нам нужно настроить эту базу данных.
Откройте этот файл:
sudo vi /etc/postfix/virtual
Удалите весь текст в файле, а затем добавьте следующую единственную строку, заменив фактическое имя пользователя на имя пользователя и правильный домен для примера.com:
user@example.com user\@example.com
Сохранить и выйти.
Следуйте, введя это в терминал
postmap /etc/postfix/virtual
Это превратит виртуальный файл в таблицу поиска, создав базу данных, необходимую для работы постфикса.
Наконец, завершите с помощью этой команды, которая создаст новый файл, который postfix ожидает перед отправкой чего-либо.
touch /etc/postfix/body_checks
Как только все это будет завершено, мы можем закончить настройку Cyrus.
Шаг четвертый — настроить Cyrus
Первый шаг — добавить файл smtpd.conf, определяющий аутентификацию для Postfix/SASL, в каталог SASL:
sudo vi /etc/sasl2/smtpd.conf
Идите вперед и скопируйте и вставьте следующий текст в:
pwcheck_method: auxprop auxprop_plugin: sasldb mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5
Сохранить и выйти.
Далее нам нужно настроить файл Cyrus:
sudo vi /etc/imapd.conf
Удалите то, что в данный момент находится в файле, и вставьте приведенные ниже конфигурации в файл, изменив домен и имя сервера по умолчанию, чтобы они соответствовали вашему личному доменному имени.
virtdomains: userid defaultdomain: example.com servername: example.com configdirectory: /var/lib/imap partition-default: /var/spool/imap admins: cyrus sievedir: /var/lib/imap/sieve sendmail: /usr/sbin/sendmail.postfix hashimapspool: true allowanonymouslogin: no allowplaintext: yes sasl_pwcheck_method: auxprop sasl_mech_list: CRAM-MD5 DIGEST-MD5 PLAIN tls_cert_file: /etc/pki/cyrus-imapd/cyrus-imapd.pem tls_key_file: /etc/pki/cyrus-imapd/cyrus-imapd.pem tls_ca_file: /etc/pki/tls/certs/ca-bundle.crt autocreatequota: -1 createonpost: yes autocreateinboxfolders: spam autosubscribeinboxfolders: spam
Сохранить и выйти.
Шаг пятый — установите почтовый клиент
Успех! Вы установили Postfix и Cyrus на свой VPS. Однако обе эти программы относятся к обработке электронной почты, а не к ее отправке. Мы можем быстро установить метод отправки сообщений из командной строки.
Мы можем использовать множество клиентов — здесь мы подключимся к MailX.
yum install mailx
После того, как вы согласитесь с приглашением, установка mailx завершится.
Затем, чтобы отправить электронное письмо, введите эту команду в терминал, заменив адрес электронной почты, на который вы хотите отправить сообщение.
mail user@example.org
Терминал запросит строку темы. Введите один, затем нажмите Enter. В последующих строках вы можете ввести свое сообщение. Он будет отправлен только тогда, когда вы нажмете ввод и введете точку.
Ваше письмо будет выглядеть примерно так:
[root@demoserver ~]# mail user@example.org Subject: Hello This is a test message. Regards, . EOT
Поздравляем — теперь у вас установлен постфикс и работает электронная почта. Все готово для использования вашего виртуального частного сервера для отправки электронной почты.