Столкнулся с проблемой - функция mail() нормально отправляет почту, но она никуда не доходит.
Почему решил, что отправляет - спрашивал у хостера, смотрел логи
Мне ответили, что связано с спам-фильтрами, как ни крутил, не смог настроить через mail()
Нашел на webi.ru класс libmail.php бросил в папку include и сделал изменения в файле include/fm.class.php в разделе настроек email:
CODE: /*
_Mail Основная функция которая определяет как отправлять письма
*/
function _Mail() {
include ("libmail.php");
$this->_SendMail(func_get_args());
}
/*
_SendMail функция отправки e-mail через sendmail сервера
*/
function _SendMail($list) {
$send_charset = "windows-1251";
$skip_mails = (file_exists(FM_SKIP_MAILS)) ? file(FM_SKIP_MAILS):array();
if (count($skip_mails) !== 0) {
unset($skip_mails[0]);
$skip_mails = preg_replace("#(\r\n|\|$)#","",trim(implode("|",$skip_mails)));
} else {
$skip_mails = "@";
}
$users = $this->_Read(FM_USERS);
if (is_array($list[2])) {
@set_time_limit(360);
foreach ($list[2] as $user_id => $flag) {
if (isset($users[$user_id]) && !preg_match("#(".$skip_mails.")$#is",$users[$user_id]['m'])) {
$m= new Mail("windows-1251"); // можно сразу указать кодировку, можно ничего не указывать ($m= new Mail;)
$m->From($list[1]); // от кого
$m->To($users[$user_id]['m']); // кому
$m->Subject($list[3]);
$m->Body($list[4]);
$m->Priority(3); // установка приоритета
$m->smtp_on("имя_сервера","логин_почта","пароль_почта",25,10); // используя эу команду отправка пойдет через smtp
$m->Send(); // отправка
}
}
} else {
if (!preg_match("#(".$skip_mails.")$#is",$list[2])) {
$m= new Mail("windows-1251"); // можно сразу указать кодировку, можно ничего не указывать ($m= new Mail;)
$m->From($list[1]); // от кого
$m->To($list[2]); // кому
$m->Subject($list[3]);
$m->Body($list[4]);
$m->Priority(3); // установка приоритета
$m->smtp_on("имя_сервера","логин_почта","пароль_почта",25,10); // используя эту команду отправка пойдет через smtp
$m->Send(); // отправка
}
}
}
Автор класса обещал, что работать будет и со сторонними почтовыми серверами, но у меня работает только с почтовым ящиком, расположенным у хостера, там же где и форум.
Стало быть имя сервера - smtp сервер вашего хостера, логин и пароль, соответственно от почтового ящика на сервере
Подробнее написано на webi.ru
Может кому пригодится тема
Смайлики в цитате обозначают скобки... В предпросмотре увидел Отредактировано администратором: yura3d, 15 апреля 2012 — 21:17 Используйте для выделения кода [code], а не цитирование [quote] |