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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Отправка почты

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: неверное значение from
Slavenin
Отправлено: 27 Сентября, 2011 - 14:53:04
Post Id



Посетитель


Покинул форум
Сообщений всего: 285
Дата рег-ции: Май 2010  
Откуда: Тверь


Помог: 4 раз(а)




Всем доброго времени суток! Сделал простой скрипт для отправки почты на заданные адреса. Но в приходящем сообщении хост вместо "от васи пупкина" подставляет свое значение. Как сделать чтобы from приходило корректно? если посмотреть в заголовок что видно, что указанное мной значение там присутсвует, но в конце добавлен адрес сервака
заголовок:
CODE (htmlphp):
скопировать код в буфер обмена
  1. Received: from mxfront13.mail.yandex.net ([127.0.0.1])
  2.         by mxfront13.mail.yandex.net with LMTP id BhA0c9Q1
  3.         for <mail@yandex.ru>; Tue, 27 Sep 2011 15:11:43 +0400
  4. Received: from mail.dizinc.com (mail.dizinc.com [66.7.213.112])
  5.         by mxfront13.mail.yandex.net (nwsmtp/Yandex) with ESMTP id BgiWkjqF-BgieBdKg;
  6.         Tue, 27 Sep 2011 15:11:42 +0400
  7. X-Yandex-Front: mxfront13.mail.yandex.net
  8. X-Yandex-TimeMark: 1317121902
  9. X-Yandex-Spam: 1
  10. Received: from mail by mail.dizinc.com with local (Exim 4.69)
  11.         (envelope-from <mail@pass79.dizinc.com>)
  12.         id 1R8VZc-0006Qv-KW
  13.         for mail@yandex.ru; Tue, 27 Sep 2011 07:11:40 -0400
  14. To: mail@yandex.ru
  15. Subject: =?utf-8?B?0YLQtdGB0YI=?=
  16. X-PHP-Script: xn--69-dlci2ar.xn--p1ai/contacts.php for 78.106.68.75
  17.  Content-type: text/html; charset=UTF-8\r\n From: =?utf-8?B?0YLQtdGB0YI8c2xhdmVuaW45OTlAeWFuZGV4LnJ1Pg==?=Content-type: text/html; charset=UTF-8\r\n
  18. Message-Id: <E1R8VZc-0006Qv-KW@mail.dizinc.com>
  19. From: mail@pass79.dizinc.com
  20. Date: Tue, 27 Sep 2011 07:11:40 -0400
  21. X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
  22. X-AntiAbuse: Primary Hostname - mail.dizinc.com
  23. X-AntiAbuse: Original Domain - yandex.ru
  24. X-AntiAbuse: Originator/Caller UID/GID - [2766 501] / [47 12]
  25. X-AntiAbuse: Sender Address Domain - pass79.dizinc.com
  26. X-Source: /usr/bin/php
  27. X-Source-Args: /usr/bin/php /home/wm2178/public_html/contacts.php
  28. X-Source-Dir: xn--69-dlci2ar.xn--p1ai:/public_html
  29. Return-Path: mail@pass79.dizinc.com
  30. X-Yandex-Forward: 1fc00a3cb328b5903e1b245d40fa3342
  31.  
  32. тест


ну и сам скрипт

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  header('Content-Type: text/html; charset=utf-8');
  3.   if(isset($_POST['submit']))
  4.   {
  5.     if(isset($_POST['name']) && isset($_POST['mail']) && isset($_POST['subj']) && isset($_POST['message']))
  6.     {
  7.       if(!empty($_POST['name']) && !empty($_POST['mail']) && !empty($_POST['subj']) && !empty($_POST['message']))
  8.       {
  9.         $message = trim(strip_tags($_POST['message']));
  10.        
  11.        
  12.         $i = 0;
  13.         $handle = fopen('mail.txt', 'r');
  14.         while (!feof($handle))
  15.         {
  16.           $to = fgets($handle);
  17.  
  18.           $subject = '=?utf-8?B?'.base64_encode($_POST['subj']).'?=';
  19.           $headers  = ' Content-type: text/html; charset=UTF-8\r\n';
  20.           //$headers  .= 'Reply-To: ' .$_POST['name']  .'<' .$_POST['mail'] .'>';
  21.           $headers .= ' From: =?utf-8?B?'.base64_encode(($_POST['name']  .'<' .$_POST['mail'] .'>')).'?=';
  22.          // $headers .= ' Subject:'.$subject;
  23.           $headers .= ' Content-type: text/html; charset=UTF-8\r\n';
  24.  
  25.           $result = mail($to, $subject, $message, $headers);
  26.  
  27.           if(!$result)
  28.           {
  29.             echo "Произошла ошибка отправления письма. Е-маил: " .$to ."<br/>";
  30.             exit();
  31.           }
  32.           else
  33.           {
  34.             $i++;
  35.           }
  36.          
  37.         }
  38.         fclose($handle);
  39.         header("Location: success.php");
  40.       }
  41.     }
  42.   }
  43.  
  44. ?>


CODE (html):
скопировать код в буфер обмена
  1. <div id="content">
  2.     <div class="wrap">
  3.         <form name="content" action="contacts.php" method="POST">
  4.           <table class="postForm" align="center">
  5.             <tr>
  6.               <td>Ваше имя:</td>
  7.               <td><input required name="name" type="text" size="35"/></td>
  8.             </tr>
  9.             <tr>
  10.               <td>Ваш e-mail:</td>
  11.               <td><input required name="mail" type="email" size="35"/></td>
  12.             </tr>
  13.             <tr>
  14.               <td>Тема сообщения:</td>
  15.               <td><input required name="subj" type="text" size="35"/></td>
  16.             </tr>
  17.             <tr>
  18.               <td>Текст сообщения:</td>
  19.               <td><textarea required name="message" cols="30" rows="15"></textarea></td>
  20.             </tr>
  21.             <tr>
  22.               <td colspan="2" style="text-align: center"><input name="submit" type="submit" value="Отправить сообщение"/></td>
  23.             </tr>
  24.             <tr >
  25.               <td colspan="2" style="text-align: center" >
  26.                 <b>тел.xxx</b>
  27.               </td>
  28.             </tr>
  29.           </table>
  30.         </form>
  31.     </div>
  32.   </div>
  33. <script type="text/javascript">
  34.   window.setTimeout('crMenuDiv.call(this, \'el_5\', \'stat\')', 2000);
  35. </script>

(Добавление)
где мой бубен?!! ну вот при чем здесь одинарные кавычки??? почему заменил их на двойные и все заработало??? какая собственно разница функции как ей приходит строка? О_О

(Отредактировано автором: 27 Сентября, 2011 - 15:08:59)

 
 Top
illy
Отправлено: 27 Сентября, 2011 - 17:05:37
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


Помог: 28 раз(а)




например, если передавать перевод строки в таких кавычках '\r\n' то это будет считаться текстом, а если через "\r\n" то переводом строки Хорошо


-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с сетью »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB