1С-Бітрікс Розробникам - Налаштування Postfix для надсилання пошти
![]() |
- Зараз на сайті
Ryzhonin Nikolay
| Дата останнього входу: | 1 годину тому |
| Місто: | Калінінград |
| Найменування компанії: | Бітрікс |
За замовчуванням у BitrixEnv та BitrixVM використовується msmtp для надсилання поштових повідомлень.
Перевагою цього рішення є простота його налаштування. До недоліків можна віднести повільне надсилання поштових повідомлень через зовнішні послуги (Google, Yandex).
У більшості випадків це не призводить до будь-яких проблем, оскільки поштові події відпрацьовують з-під крона, але в ряді випадків може створити проблему. Наприклад, якщо поштові події виконуються на хіті (заданий параметр негайна доставка), або розробник безпосередньо використовує функцію mail().
Розглянемо налаштування відправки поштових повідомлень postfix через Яндекс:
1. встановлюємо додаткові пакети
і виконуємо команду postmap для /etc/postfix/generic, /etc/postfix/canonical, /etc/postfix/sender_relay, /etc/postfix/mailpasswd
7. змінюємо налаштування в php.ini
SMTP для outlook.com Ім'я сервера: pod51002.outlook.com Порт: 587 Метод шифрування: TLS
Наведений вище приклад є окремим випадком. Але нічого не заважає розширити його до відправки на кілька доменів.
Ігор Андріанов, msmtp справді глючить. Була нагода, коли на презентації у замовника ми показували, як надходять листи про замовлення, а вони не приходили.
Приходили інші листи, надіслані три дні тому. Тупо черга порушилася, а ми не помітили до презентації. Переключили поштовий сервер на sendmail.
C postfix та sendmailпрацює стабільно. Але не треба відправляти через Яндекс чи Google! Поштові сервіси не хочуть, щоб через них пересилали спам і чіпляються до вас. Що заважає відправляти зі свого сайту?
Google дуже жорстко дивиться, і що блокує відправника повністю.
Яндекс м'якший, він дивиться конкретний лист. Якщо йому якийсь лист не подобається, то блокує листа. У нас він блокував лише один лист із сайту "Запросити друга". По-різному змінювали шаблон, але все одно не пропускав.
| C postfix та sendmail працює стабільно. Але не треба відправляти через Яндекс чи Google! Поштові сервіси не хочуть, щоб через них пересилали спам і чіпляються до вас. Що заважає відправляти зі свого сайту? |
Справа в тому, що якщо просто відправляти зі свого сервера, то необхідно робити ряд додаткових дій. Прописувати зворотну зону, коректно налаштувати запис DNS, запросити у ряду поштових сервісів включення в білий список. А також відстежувати, щоб не банили постові сервери клієнтів.
Тому для більшості проектів простіше та надійніше відправляти пошту на пряму.
Цитата: " але в ряді випадків може створити проблему. Наприклад, якщо поштові події виконуються на хіті (заданий параметр негайна доставка), або розробник безпосередньо використовує функцію mail(). "
Розкажіть, будь ласка, про те, як уникнути проблем при використанні функції mail()?
| Розкажіть, будь ласка, про те, як уникнути проблем при використанні функції mail()? |
Не треба тупо копіпастити помилку з одного ресурсу на інші (а це зустрілося майже на 5 сходу)
| Ув. Микола, а з багатосайтовістю це рішення працює? some1.ru [email protected] smtp.yandex.ru Пошта йде тільки з першого сайту, |
для вашої проблеми є рішення: smtp_sasl_password_maps потрібно прописати
sender_dependent_relayhost_maps треба прописати user@domain1 smtp.yandex.ru user@domain2 smtp.yandex.ru user@domain3 smtp.gmail.com
| Ryzhonin Nikolay написав: і виконуємо команду postmap для /etc/postfix/generic, /etc/postfix/canonical, /etc/postfix/sender_relay, /etc/postfix/mailpasswd |
| sendmail_path = sendmail -t -i [email protected] ;bitrix-env |
Помилка, має бути так:
[root@svm-max php.d]# service zend-server stop zend-server: unrecognized service
Помилка з'явилася після переходу на php 5.6.19
Всім привіт. У мене стоїть віртуальна машина bitrixVM5 Ось намагаюся налаштувати пошту.
| 3. в /etc/postfix/mailpasswd вказуємо логін та пароль |
в даному розділі немає такого файлу - що робити, створити якщо його немає. то повинні і бути якісь ще параметри в цьому файлі.
у статті описуються налаштування відправки повідомлень postfix-ом через Яндекс. Я маю доступ до gmail. Чи можна їх використати.
Хоча знайшов статтю як настроїти Postfix Gmail
| Ryzhonin Nikolay написав: 7. змінюємо налаштування в php.ini |
Ті хто вперше читають цю статтю - налаштування треба міняти в /etc/php.d/bitrixenv.ini ,
і прописувати саме
| sendmail_path = sendmail -t -i [email protected] |
| Альберт написав: sendmail_path = postfix -t -i [email protected] |
| для надсилання пошти використовуйте команду Postfix sendmail команда postfix зарезервована для суперкористувача |
Викладіть хто-небудь повністю робочі конфіги postfix.
Наприклад: main.cf soft_bounce = ні queue_directory = /var/spool/postfix daemon_directory = /usr/libexec/postfix mail_owner = postfix default_privs = nobody inet_interfaces = all myhostname = moy.domen.ru mydomain = $myhostname myorigin = $myhostname inet_protocols = ipv4 mydestination = $myhostname relay_domains = $ mydestination relay_domains_reject_code = 550 local_recipient_maps = proxy:unix:passwd.byname $alias_maps unknown_local_recipient_reject_code = 550 mynetworks = 192.168.0.1/24, 127.0.0.0/8 alias_maps = хеш: /etc/aliases alias_database = hash:/etc/aliases mail_spool_directory = /var/mail smtpd_banner = $myhostname NO UCE ESMTP debug_peer_level = 2 debug_peer_list = yandex.ru debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin xxgdb $daemon_directory/$process_name $process_id & sleep 5 sendmail_path = /usr/sbin/sendmail mailq_path = /usr/bin/mailq.postfix setg >html_directory = no manpage_directory = /usr/local/man config_directory = /etc/postfix
mailbox_size_limit = 0 message_size_limit = 10485760
smtp_use_tls = так smtp_sasl_auth_enable = так smtp_sasl_password_maps = hash:/etc/postfix/mailpasswd smtp_sasl_security_options = noanonymous smtp_sasl_type = cyrus smtp _sasl_mechanism_filter = логін smtp_sender_dependent_authentication = так sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relay sender_canonical_maps = hash:/etc/postfix/canonical smtp_generic_maps= hash:/etc/postfix/generic
