Здравствуйте.
$result = $mContacts->SendingMessage($message_body, $subject, $email);
весь день с бубном пляшу, нашел в чем проблема, но не понимаю как она работает и как это исправить
если $email - один конкретный адрес(адрес администратора), то письма приходят
если пытаюсь передать другой адрес (передать другую переменную с адресом или переопределить $email), то НЕТ
Сама функция SendingMessage проста как шпала: определяем время создания сообщения, приписываем это к телу письма, определяем хэдеры ну и mail($email, $subject, $mail_text, $headers); естественно, все!
при этом результат функции mail - true, а письмо во входящих не появляется.
в чем может быть причина? код выложить?
Заранее спасибо.
1. Ehonod - 15 Августа, 2014 - 16:58:05 - перейти к сообщению
2. OrmaJever - 15 Августа, 2014 - 17:02:27 - перейти к сообщению
Ehonod пишет:
при этом результат функции mail - true, а письмо во входящих не появляется.
сама функция mail не отправляет письмо, она отдаёт его smtp серверу который уже шлёт его на указанную почту. У вас проблемы именно с smtp сервером
3. Мелкий - 15 Августа, 2014 - 17:02:38 - перейти к сообщению
mail возвращает true сразу как письмо передано MTA и больше ни на что не смотрит.
Лог MTA смотрите. Там что-нибудь полезное может быть. А может и не быть.
Лог MTA смотрите. Там что-нибудь полезное может быть. А может и не быть.
4. RickMan - 15 Августа, 2014 - 17:02:43 - перейти к сообщению
Проблема может быть в том, что используель не очень хороший метод отправки писем. Почтовики далеко не все примут такие письма.
Советую подключить библиотеку http://mandrill[dot]com/ . Там фришно можно 12к писем в месяц слать. Думаю хватит. + письма отправленные так 100% доходят.
https://mandrillapp[dot]com/api/docs/index.php[dot]html - php api от них.
Советую подключить библиотеку http://mandrill[dot]com/ . Там фришно можно 12к писем в месяц слать. Думаю хватит. + письма отправленные так 100% доходят.
https://mandrillapp[dot]com/api/docs/index.php[dot]html - php api от них.
5. Ehonod - 15 Августа, 2014 - 17:09:16 - перейти к сообщению
OrmaJever пишет:
сама функция mail не отправляет письмо, она отдаёт его smtp серверу который уже шлёт его на указанную почту. У вас проблемы именно с smtp сервером
Ehonod пишет:
при этом результат функции mail - true, а письмо во входящих не появляется.
сама функция mail не отправляет письмо, она отдаёт его smtp серверу который уже шлёт его на указанную почту. У вас проблемы именно с smtp сервером
Значит ли это что с моим вопросом надо к хостеру топать???
(Добавление)
Мелкий пишет:
mail возвращает true сразу как письмо передано MTA и больше ни на что не смотрит.
Лог MTA смотрите. Там что-нибудь полезное может быть. А может и не быть.
Лог MTA смотрите. Там что-нибудь полезное может быть. А может и не быть.
К сожалению я не знаю где его смотреть.
(Добавление)
RickMan пишет:
Проблема может быть в том, что используель не очень хороший метод отправки писем. Почтовики далеко не все примут такие письма.
Советую подключить библиотеку http://mandrill[dot]com/ . Там фришно можно 12к писем в месяц слать. Думаю хватит. + письма отправленные так 100% доходят.
https://mandrillapp[dot]com/api/docs/index.php[dot]html - php api от них.
Советую подключить библиотеку http://mandrill[dot]com/ . Там фришно можно 12к писем в месяц слать. Думаю хватит. + письма отправленные так 100% доходят.
https://mandrillapp[dot]com/api/docs/index.php[dot]html - php api от них.
Буду иметь ввиду. Но на мой взгляд это слишком радикальный метод решения моей проблемы. Посмотрел Ваши ссылочки, я там наверное неделю буду разбираться, а мне надо-то всего ничего, чтоб 1 письмо в месяц отправлялось.
6. caballero - 15 Августа, 2014 - 17:38:59 - перейти к сообщению
уверены что функция не криво написана и не пихает email в поле from?
7. Ehonod - 15 Августа, 2014 - 18:02:34 - перейти к сообщению
caballero пишет:
уверены что функция не криво написана и не пихает email в поле from?
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- // --- письмо со сылкой
- $subject = 'Заголовок письма';
- $message_body = "
- <p>Здравствуйте.<br/>Тут есть <a href=https://address.html>ссылочка</a>! Пользуйтесь на здоровье!)</p>";
- $result = $mContacts->SendingMessage($message_body, $subject, $email);
- // ------
- public function SendingMessage($message, $subject, $email)
- {
- $message_head = "
- <html>
- <head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
- </head>
- <body>";
- $message_footer = "
- <p>Дата отправки сообщения: ".$date."</p>
- </body>
- </html>";
- $mail_text = $message_head.$message.$message_footer;
- $headers= "MIME-Version: 1.0\r\n";
- $headers .= "Content-type: text/html; charset=utf-8\r\n";
- $headers .= "From: Почтовый робот сайта ... <".$email.">\r\n";
- $headers .= "Cc: ".$email."\r\n";
- //$headers .= "Bcc: ".$email."\r\n";
- return true;
- else
- return false;
- }