Итак, дано: Debian lenny, Exim4, PHP 5.3.
Нужно настроить правильную работу функции mail() в PHP, чтобы та отсылала почту через smtp.masterhost.ru.
Делается всё просто.
1. Добавляем в конфиг /etc/exim4/update-exim4.conf.conf :
1 2 |
dc_eximconfig_configtype='internet' dc_smarthost='smtp.masterhost.ru::25' |
2. В /etc/exim4/passwd.client добавляем данные для авторизации:
1 |
smtp.masterhost.ru:OurMail@OurDomain.ru:OurMailPassword |
3. В /etc/email-addresses добавляем :
1 |
root: OurMail@OurDomain.ru |
root – пользователь, с которого будет вызываться функция mail. Если у нас www-data, то указываем его.
4. Шлём письма в PHP:
1 2 3 |
$headers = "Content-type: text/html; charset=\"utf-8\"\n"; $headers .= "From: Our good php script \n"; mail("OurRecepient@OurDomain.ru", "Test", "Hi! This is a <b>test mail</b>", $headers); |
Таким образом, почта приходит в UTF-8 в формате text/html.
Link to this post!