В примере используется почта для домена от Яндекса.
Для каждого пользователя (сайта) user1.tld и user2.tld настроена своя почта для домена.
Конфигураци SSMTP
Нужно создать несколько конфигов ssmtp для каждого VirtualHost
Конфигурация 1
nano /etc/ssmtp/ssmtp-user1.conf
root=mail@user1.tld
mailhub=smtp.yandex.ru:465
RewriteDomain=user1.tld
Hostname=mail@user1.tld
# Set this to never rewrite the "From:" line (unless not given) and to
# use that address in the "from line" of the envelope.
FromLineOverride=YES
AuthUser=mail@user1.tld
AuthPass=passwd
AuthMethod=LOGIN
UseTLS=YES
TLS_CA_File=/etc/pki/tls/certs/ca-bundle.crt
Debug=NO
Конфигурация 2
nano /etc/ssmtp/ssmtp-user2.conf
root=mail@user2.tld
mailhub=smtp.yandex.ru:465
RewriteDomain=user2.tld
Hostname=mail@user2.tld
# Set this to never rewrite the "From:" line (unless not given) and to
# use that address in the "from line" of the envelope.
FromLineOverride=YES
AuthUser=mail@user2.tld
AuthPass=passwd
AuthMethod=LOGIN
UseTLS=YES
TLS_CA_File=/etc/pki/tls/certs/ca-bundle.crt
Debug=NO
Вторая конфигурация SSMTP (Revaliases)
nano /etc/ssmtp/revaliases
root:mail@user1.tld:smtp.yandex.ru:465
root:mail@user2.tld:smtp.yandex.ru:465
Что бы письма были отправлены не от пользователя apache (www-data) изменим комментарий пользователю.
Этот комментарий будет виден в имени отправителя.
chfn -f "Web Email" apache
Конфигурация APACHE
Для каждой конфигурации сайта (VirtualHost) нужно указать конфигурацию ssmtp.
nano /etc/httpd/conf.d/user1.tld.conf
<VirtualHost *:8080>
ServerName user1.tld#****
</VirtualHost>
<Directory "/home/user1.tld/html">
php_admin_value sendmail_path "/usr/sbin/ssmtp -t -C/etc/ssmtp/ssmtp-user1.conf"
php_admin_value sendmail_from "mail@user1.tld"
#****
</Directory>
nano /etc/httpd/conf.d/user2.tld.conf
<VirtualHost *:8080>
ServerName user2.tld#****
</VirtualHost>
<Directory "/home/user2.tld/html">
php_admin_value sendmail_path "/usr/sbin/ssmtp -t -C/etc/ssmtp/ssmtp-user2.conf"
php_admin_value sendmail_from "mail@user2.tld"
#****
</Directory>
Перезапустить apache и проверить отправку писем
<?
mail('your@email.com', 'Test From Your-Site', 'Test Message from Sendmail by PHP');
?>
1 комментарий:
То, что надо... Решил перейти с винды на линукс искал аналог сендмайла(легкий и простой) Перерыл весь инет.... кругом вода и копипаст... Спасибо...
Отправить комментарий