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 :: письма отправленные функцией mail попадают в spam

 PHP.SU

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


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

> Описание: письма отправленные функцией mail попадают в spam
Tyoma5891
Отправлено: 17 Ноября, 2015 - 22:05:10
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013  


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




всем привет, такая вот проблема мой скрипт отправляет письма с вложениями с помощью стандартной функции mail, все красиво все хорошо, но вот появился один клиент с почтовым агентом Outlook и ему мои письма попадают в спам фильтр, он утверждает что проблема в скрипте который отправляет письмо а именно в кодировке заголовков тема, от и кому вот код скрипта:

PHP:
скопировать код в буфер обмена
  1.  
  2.         $to = $_POST['p']['emailAlpha'];
  3.   $from = "webmaster@site.ru";
  4.   $subject = $_POST['p']['subjectAlpha'];
  5.  
  6.   $message = $_POST['p']['messageAlpha']."\r\n";
  7.  
  8. $EOL = "\r\n";
  9.     $boundary     = "--".md5(uniqid(time()));  
  10.     $headers    = "MIME-Version: 1.0;$EOL";
  11.        
  12.     $headers   .= "Content-Type: multipart/mixed; boundary=\"$boundary\"$EOL";  
  13.  
  14.         $headers.="From: =?CP1251?Q?".str_replace("+","_",str_replace("%","=",urlencode('ххххххххххххххх')))."?= <zakaz@site.ru>$EOL";
  15.         $headers.="Subject: =?utf-8?Q?".str_replace("+","_",str_replace("%","=",urlencode("$subject")))."?=$EOL";
  16.         $headers   .= "X-Confirm-Reading-To: <webmaster@site.ru>$EOL";
  17. $headers   .= "Disposition-Notification-To: <webmaster@site.ru>$EOL";
  18. $headers   .= "Return-Receipt-To: <webmaster@site.ru>";
  19.          $multipart  = "--$boundary$EOL";  
  20.     $multipart .= "Content-Type: text/plain; charset=utf-8$EOL";  
  21.     $multipart .= "Content-Transfer-Encoding: base64$EOL";  
  22.     $multipart .= $EOL;
  23.     $multipart .= chunk_split(base64_encode($message));
  24.        
  25.  
  26.         $path = $_SERVER['DOCUMENT_ROOT'];
  27.        
  28. if (!empty($_POST['uploadedfiles'])){
  29.  
  30.  
  31. $fnames = explode(",", $_POST['uploadedfiles']);
  32.          $id = $_POST['guid'];
  33.  
  34.          foreach ($fnames as $f) {
  35.           $fp = fopen($path."/base/uploaded/".$id."/".$f."","rb");  
  36.     if (!$fp)  
  37.     { print "Cannot open file";  
  38.       exit();  
  39.     }  
  40.     $file = fread($fp, filesize($path."/base/uploaded/".$id."/".$f.""));  
  41.     fclose($fp);  
  42.  
  43.   $multipart .=  "$EOL--$boundary$EOL";
  44.     $multipart .= "Content-Type: application/octet-stream; name=\"$f\"$EOL";  
  45.     $multipart .= "Content-Transfer-Encoding: base64$EOL";  
  46.     $multipart .= "Content-Disposition: attachment; filename=\"$f\"$EOL";  
  47.     $multipart .= $EOL;
  48.     $multipart .= chunk_split(base64_encode($file));  
  49.  
  50.     }
  51. $multipart .= "$EOL--$boundary--$EOL";
  52.  
  53.  mail($to, '', $multipart, $headers);
  54.  
  55. echo "Письмо отправлено!";     
  56.  
  57. }

подскажите где тут ошибка и в скрипте ли она?

(Отредактировано автором: 17 Ноября, 2015 - 22:06:34)

 
 Top
Viper
Отправлено: 17 Ноября, 2015 - 22:11:29
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




Tyoma5891 нужно увидеть исходный код письма полученного клиентом. Ваш код до одного места.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Tyoma5891
Отправлено: 17 Ноября, 2015 - 22:40:30
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013  


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




вот он:
X-Amavis-Alert: BAD HEADER SECTION, Non-encoded 8-bit data (char D0 hex):
Subject:
89223/08103151053501771/\320\230\320\262\320\260\320\275\320\276\320\262
\320\224.\320\222.
X-Spam-Flag: YES
X-Spam-Score: 11.683
X-Spam-Level: ***********
X-Spam-Status: Yes, score=11.683 tag=3.2 tag2=4.7 kill=5.2 tests=[AWL=1.032,
BAYES_50=1.2, MIME_8BIT_HEADER=0.3, PYZOR_CHECK=1.392, RDNS_NONE=3.5,
SUBJECT_NEEDS_ENCODING=0.75, SUBJ_ILLEGAL_CHARS=0.75,
TVD_SPACE_RATIO_MINFP=2.749, T_OBFU_JPG_ATTACH=0.01]
autolearn=no autolearn_force=no
Received: from relay3.site.ru ([127.0.0.1])
by relay3.site.ru (relay3.site.ru [127.0.0.1]) (amavisd-new, port 10024)
with LMTP id r9BbO_gU3m83 for <Gorbatov@site.ru>;
Tue, 17 Nov 2015 11:49:54 +0300 (GMT-3)
Received-SPF: none (site.ru: No applicable sender policy available) receiver=relay3.site.ru; identity=mailfrom; envelope-from="webmaster@site.ru"; helo=ds308.site.ru; client-ip=xx.xx.xx.xx
X-Greylist: from auto-whitelisted by SQLgrey-1.8.0
Received: from ds308.site.ru (unknown [xx.xx.xx.xx])
(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
(Client did not present a certificate)
by relay3.site.ru (ESMTP Application) with ESMTPS id 4F2E4A2E44E
for <Gorbatov@site.ru>; Tue, 17 Nov 2015 11:49:20 +0300 (GMT-3)
Received: from site by ds308.site.ru with local (Exim 4.80.1 (FreeBSD))
(envelope-from <webmaster@site.ru>)
id 1ZybpM-000NSA-6s
for Gorbatov@site.ru; Tue, 17 Nov 2015 11:41:24 +0300
To: Gorbatov@site.ru
Subject: 89223/08103151053501771/<D0><98><D0><B2><D0><B0><D0><BD><D0><BE><D0><B2> <D0><94>.<D0><92>.
X-PHP-Script: site.ru/base/mailalpha.php for 188.35.29.215, 188.35.29.215
MIME-Version: 1.0;
Content-Type: multipart/mixed; boundary="--f6c2e3f12692db7229e8b0e297584be1"
From: =?CP1251?Q?=28=D1=E5=F0=E2=E8=F1=ED=FB=E9_=F6=E5=ED=F2=F0_SITE_RU=29?= <zakaz@site.ru>
X-Confirm-Reading-To: <webmaster@site.ru>
Disposition-Notification-To: <webmaster@site.ru>
Return-Receipt-To: <webmaster@site.ru>
Message-Id: <E1ZybpM-000NSA-6s@ds308.site.ru>
Date: Tue, 17 Nov 2015 11:41:24 +0300

----f6c2e3f12692db7229e8b0e29758 4be1
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: base64

DQo=

----f6c2e3f12692db7229e8b0e29758 4be1
Content-Type: application/octet-stream; name="IMG_0177.JPG"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="IMG_0177.JPG"

/9j/4TP+RXhpZgAASUkqAAgAAAAKAA4BAgAgAAAAhgAAAA8BAgAGAAAApgAAABABAgAZAAAArAAA
 
 Top
Viper
Отправлено: 18 Ноября, 2015 - 00:59:39
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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






-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 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