Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Проблема с почтой
Форумы портала PHP.SU » » Вопросы новичков » Проблема с почтой

Страниц (1): [1]
 

1. Ehonod - 15 Августа, 2014 - 16:58:05 - перейти к сообщению
Здравствуйте.

$result = $mContacts->SendingMessage($message_body, $subject, $email);

весь день с бубном пляшу, нашел в чем проблема, но не понимаю как она работает и как это исправить

если $email - один конкретный адрес(адрес администратора), то письма приходят
если пытаюсь передать другой адрес (передать другую переменную с адресом или переопределить $email), то НЕТ

Сама функция SendingMessage проста как шпала: определяем время создания сообщения, приписываем это к телу письма, определяем хэдеры ну и mail($email, $subject, $mail_text, $headers); естественно, все!

при этом результат функции mail - true, а письмо во входящих не появляется.

в чем может быть причина? код выложить?

Заранее спасибо.
2. OrmaJever - 15 Августа, 2014 - 17:02:27 - перейти к сообщению
Ehonod пишет:
при этом результат функции mail - true, а письмо во входящих не появляется.

сама функция mail не отправляет письмо, она отдаёт его smtp серверу который уже шлёт его на указанную почту. У вас проблемы именно с smtp сервером
3. Мелкий - 15 Августа, 2014 - 17:02:38 - перейти к сообщению
mail возвращает true сразу как письмо передано 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 от них.
5. Ehonod - 15 Августа, 2014 - 17:09:16 - перейти к сообщению
OrmaJever пишет:
Ehonod пишет:
при этом результат функции mail - true, а письмо во входящих не появляется.

сама функция mail не отправляет письмо, она отдаёт его smtp серверу который уже шлёт его на указанную почту. У вас проблемы именно с smtp сервером


Значит ли это что с моим вопросом надо к хостеру топать???
(Добавление)
Мелкий пишет:
mail возвращает true сразу как письмо передано MTA и больше ни на что не смотрит.
Лог MTA смотрите. Там что-нибудь полезное может быть. А может и не быть.


К сожалению я не знаю где его смотреть.
(Добавление)
RickMan пишет:
Проблема может быть в том, что используель не очень хороший метод отправки писем. Почтовики далеко не все примут такие письма.
Советую подключить библиотеку 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:
скопировать код в буфер обмена
  1.  
  2. // --- письмо со сылкой
  3. $subject = 'Заголовок письма';
  4.                                                        
  5. $message_body = "
  6. <p>Здравствуйте.<br/>Тут есть <a href=https://address.html>ссылочка</a>! Пользуйтесь на здоровье!)</p>";
  7.                                                        
  8. $message_body = wordwrap($message_body, 70);
  9.                                                        
  10. $result = $mContacts->SendingMessage($message_body, $subject, $email);
  11.  
  12. // ------
  13.  
  14. public function SendingMessage($message, $subject, $email)
  15.         {
  16.                 $date = date('Y.m.d-H:i:s');
  17.                
  18.                 $message_head = "
  19. <html>
  20.         <head>
  21.              <meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
  22.         </head>
  23.        <body>";
  24.  
  25.                 $message_footer = "
  26.          <p>Дата отправки сообщения: ".$date."</p>
  27.     </body>
  28. </html>";
  29.  
  30.                 $mail_text = $message_head.$message.$message_footer;
  31.                
  32.                 $headers= "MIME-Version: 1.0\r\n";
  33.                 $headers .= "Content-type: text/html; charset=utf-8\r\n";
  34.                 $headers .= "From: Почтовый робот сайта ... <".$email.">\r\n";
  35.                 $headers .= "Cc: ".$email."\r\n";
  36.                 //$headers .= "Bcc: ".$email."\r\n";
  37.                
  38.                 mail($email, $subject, $mail_text, $headers);
  39.                
  40.                 if (mail == true)
  41.                         return true;
  42.                 else
  43.                         return false;
  44.                
  45.         }
  46.  
8. esterio - 15 Августа, 2014 - 18:18:57 - перейти к сообщению
Ehonod пишет:
if (mail == true)

что это такое? может так
PHP:
скопировать код в буфер обмена
  1. return mail($email, $subject, $mail_text, $headers);
9. Ehonod - 15 Августа, 2014 - 18:26:01 - перейти к сообщению
esterio пишет:
Ehonod пишет:
if (mail == true)

что это такое


Если функция mail выполнилась. А как правильно?
10. caballero - 15 Августа, 2014 - 23:08:15 - перейти к сообщению
$headers .= "From: Почтовый робот сайта ... <".$email.">\r\n";


вы уж определитесь $email кому или от кого
11. Ehonod - 17 Августа, 2014 - 08:53:25 - перейти к сообщению
caballero пишет:
$headers .= "From: Почтовый робот сайта ... <".$email.">\r\n";


вы уж определитесь $email кому или от кого


Проклятая невнимательность!(

Спасибо Вам большое! В этом и была проблема!

 

Powered by ExBB FM 1.0 RC1