Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2011, 08:46   #1
KPEATuBHO
Форумчанин
 
Аватар для KPEATuBHO
 
Регистрация: 03.09.2010
Сообщений: 197
По умолчанию Непонятные проблемы с отправкой письма.

Уважаемые! Помогите, по возможности, разобраться со следующей проблемой:

При отправке письма с севера средствами PHP скрипта в тело вклиниваются абсурдные пробелы. При этом неважно письмо отправляется как text/plain или text/html, пробелы появляются в любом случае. При этом если в случае с text/plain - худшее к чему может привести лишний пробел - вклиниться в слово - проблема не страшная, но хочется что бы все было идеально. А вот text/html который по-большому счету то и нужен, если в него вклинивается пробел допустим в название тега - частично слетает верстка письма... В общем попытался объяснить как смог. С такими фантомными пробелами имею дело в первый раз. Помогите кто сможет...

P.S. Сначала использовал mail() со следующими заголовками:
PHP код:
    $headers  'MIME-Version: 1.0' "\r\n";
    
$headers .= "From: \"Channel Islands Aviation\" <booking@flightstothechannelislands.com>\r\n";
    
$headers .= "Bcc: islands@flycia.com\r\n";
    
$headers .= "Content-type: text/html; charset=utf-8\r\n";
    
$headers .= "Content-Transfer-Encoding: 8bit\r\n"
пробелы существовали.

Потом решил попробовать PHPMailer библиотеку (думал может я чего криво пишу в заголовках или чего не дописываю), но проблема осталась. Сумасшедшие пробелы как были так и есть теперь только на других местах...

P.P.S. Есть у меня предположение, что sendmail переигрывает... В любом случае буду рад услышать любой ответ!
KPEATuBHO вне форума Ответить с цитированием
Старый 10.12.2011, 10:21   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

надо смотреть как формируется само тело сообщения
ADSoft вне форума Ответить с цитированием
Старый 10.12.2011, 12:27   #3
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,603
По умолчанию

Дайте полный код потестить
Gorychev вне форума Ответить с цитированием
Старый 10.12.2011, 16:24   #4
KPEATuBHO
Форумчанин
 
Аватар для KPEATuBHO
 
Регистрация: 03.09.2010
Сообщений: 197
По умолчанию

Формирование тела письма:

PHP код:
    $html='Dear '.$primary_contact_name.',<br/><br/>';
    
$html.='Thank you for your recent online reservation! We have you booked and confirmed for the following Trip:<div style="padding-left:100px;"><h1 style="font-size:20px;">'.$trip_info['title'].'</h1></div>';
    
$html.='Your flight Departs ';
    
$html.=$dep_time!="-"?'at '.$dep_time:''
    
$html.=' on '.$dep_date.' and Returns ';
    
$html.=$ret_time!="-"?'at '.$ret_time:''
    
$html.=' on '.$ret_date.'. The seat(s) reserved are for the following passengers:<br/><br/>';
    
$html.='<div style="padding-left:100px;">'.$passengers_names.'</div><br/>';
    
$html.='Please note the Max Cargo Weight allowed per passenger on this flight is '.$max_cpp.'.<br/><br/>';
    
$html.='<div style="padding-left:100px;"><table cellspacing="0" cellpadding="0">';
    
$html.='<tr><td style="" valign="top" align="left">Total Airfare:</td><td style="" valign="top" align="left">$'.$airfare.'</td></tr>';
    
$html.='<tr><td style="width:300px;" valign="top" align="left">Discount Applied:</td><td valign="top" align="left">$'.($airfare!="0.00"?$summary_discount:"0.00").'</td></tr>';
    
$html.='<tr><td>Tax (FET):</td><td valign="top" align="left">$'.$tax.'</td></tr>';
    
$html.='<tr><td style="border-bottom:#000000 1px solid;width:300px;" valign="top" align="left">Segment Fees:</td><td style="border-bottom:#000000 1px solid;" valign="top" align="left">$'.$segements_fees.'</td></tr>';
    
$html.='<tr><td style="width:300px;font-weight:bold;" valign="top" align="left">TOTAL:</td><td style="font-weight:bold;" valign="top" align="left">$'.$full_price.'</td></tr>';
    
$html.='</table></div><br/>';
    
$html.='<table cellspacing="0" cellpadding="0">';
    
$html.='<tr><td style="width:400px;" valign="top" align="left">Gift Code Applied:<br/><br/></td><td valign="top" align="left">$'.$full_price.'<br/><br/></td></tr>';
    
$html.='<tr><td style="width:400px;" valign="top" align="left">Amount Billed to your Credit Card:</td><td valign="top" align="left">$'.$price.'<br/></td></tr>';
    
$html.='<tr><td style="width:400px;" valign="top" align="left">Credit Card Authorization Code:</td><td valign="top" align="left">#'.$parsedXML['AuthCode'].'<br/></td></tr>';
    
$html.='<tr><td style="width:400px;" valign="top" align="left">Credit Card Holders Name:</td><td valign="top" align="left">'.$_POST['cc_name_on_the_card'].'<br/></td></tr>';
    
$html.='<tr><td style="width:400px;" valign="top" align="left">Credit Card Number:</td><td valign="top" align="left">XXXX-XXXX-XXXX-'.$cc_name_on_the_card_last.'<br/></td></tr>';
    
$html.='</table><br/>';
    
$html.='Please download/read/print our Trip Information Packet that covers CIA policies for your records:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/><br/>';
    
$html.='<a href="http://www.flightstothechannelislands.com/documents/FTTCI_Confirmation.pdf">DOWNLOAD</a><br/><br/>';
    
$html.='If you have any questions or concerns, please contact the CIA Flight Desk via:<br/><br/>';
    
$html.='<div style="padding-left:100px;"><span style="margin-right:33px;">Phone: </span>(805) 987-1301 x "0"<br/><span style="margin-right:30px;">E-mail: </span><a href="mailto:islands@flycia.com">islands@flycia.com</a></div><br/>';
    
$html.='Thank you for choosing to fly with Channel Islands Aviation!<br/><br/>Flight Desk<br/>Channel Islands Aviation, Inc.<br/><a href="http://www.flycia.com">www.flycia.com</a><br/><img src="http://www.flightstothechannelislands.com/images/cia_logo.png" />'
Далее отправка:

1) средствами mail():

PHP код:
$headers  'MIME-Version: 1.0' "\r\n";
    
$headers .= "From: \"Channel Islands Aviation\" <booking@flightstothechannelislands.com>\r\n";
    
$headers .= "Bcc: islands@flycia.com\r\n";
    
$headers .= "Content-type: text/html; charset=utf-8\r\n";
    
$headers .= "Content-Transfer-Encoding: 8bit\r\n";
    
$subject="CIA Islands Flight Confirmation";
    
mail($primary_contact_email,$subject,$html,$headers); 
2) PHPMailer - библиотека:

PHP код:
    include("phpmailer.inc.php");
    
$mail = new PHPMailer();
    
$mail->IsSendmail();
    
$mail->From="booking@flightstothechannelislands.com";
    
$mail->FromName="Channel Islands Aviation";
    
$mail->AddAddress($primary_contact_email);
    
$mail->AddBCC("islands@flycia.com");
    
$mail->Subject="CIA Islands Flight Confirmation";
    
$mail->Body=$html;
    
$mail->IsHTML(true);
    
$mail->Send(); 
Результаты в аттаче (в text/plain и text/html)
Изображения
Тип файла: jpg text_plain.jpg (108.9 Кб, 20 просмотров)
Тип файла: jpg text_html.jpg (143.4 Кб, 128 просмотров)
KPEATuBHO вне форума Ответить с цитированием
Старый 10.12.2011, 18:44   #5
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,603
По умолчанию

Хм, ваш код вполне рабочий, вот что на почту пришло http://imm.io/cKxq
На другом хосте попробуйте запустить
Gorychev вне форума Ответить с цитированием
Старый 10.12.2011, 19:29   #6
KPEATuBHO
Форумчанин
 
Аватар для KPEATuBHO
 
Регистрация: 03.09.2010
Сообщений: 197
По умолчанию

Спасибо за ответ. Пробовал на моем хостинге - все великолепно, никаких пробелов. Ответ я нашел абсолютно волшебным образом... Почему волшебным - потому как поиски до сегодняшнего дня не завершались успехом. Ну собственно причины пробелов описаны тут. Теперь осталось найти что-то подобное в английском варианте и заказчику в качестве оправдания и средств решения предложить
KPEATuBHO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с отправкой http заголовка header() DeFace PHP 6 19.08.2011 17:03
Ошибка выходит с отправкой письма Vampir347 Общие вопросы Delphi 2 15.03.2011 19:01
Проблема с отправкой письма. Mollerat Работа с сетью в Delphi 1 31.10.2010 20:21
Проблемы с Joomla отправкой писем Rusl92 WordPress и другие CMS 4 24.10.2010 03:02
Запись/чтение из бинарного файла - непонятные проблемы.... Jorgen Общие вопросы C/C++ 1 26.11.2009 11:45