Я получаю сообщение об ошибке «Не удалось получить», когда я использую mail () в php

$strBody="<TABLE cellSpacing=0 cellPadding=0 align=center border=1><TR><TD align=left valign=top><font face='Verdana, Arial, Helvetica, sans-serif' color='#000000' size=2>Name</font></TD><TD colSpan=2><font face='Verdana, Arial, Helvetica, sans-serif' color='#000000' size='1'>".$_SESSION['fname']." ".$_SESSION['lname']."</font></TD></TR>"; //$strBody="good".$strBody; $strBody=$strBody."<TR><TD align=left valign=top><FONT face='Verdana, Arial, Helvetica, sans-serif' color=#000000 size=2>Topic</FONT></TD>"; $strBody=$strBody."<TD colSpan=2 align=left valign=top><font face='Verdana, Arial, Helvetica, sans-serif' color='#000000' size='1'>".$_SESSION['topic']."</font></TD></TR>"; $strBody=$strBody."<TR><TD align=left valign=top><FONT face='Verdana, Arial, Helvetica, sans-serif' color=#000000 size=2>Detail of Topic</FONT></TD>"; $strBody=$strBody."<TD colSpan=2 align=left valign=top><div align=justify><FONT face='Verdana, Arial, Helvetica, sans-serif' color=#000000 size=1>".$_SESSION['detail']."</FONT></div></TD></TR>"; $strBody=$strBody."<TR><TD align=left valign=top><FONT face='Verdana, Arial, Helvetica, sans-serif' color=#000000 size=2>Broad Category</FONT></TD>"; $strBody=$strBody."<TD colSpan=2 align=left valign=top><FONT face='Verdana, Arial, Helvetica, sans-serif' color=#000000 size=1>".$_SESSION['Head']."</FONT></TD></TR>"; $strBody=$strBody."<TR><TD align=left valign=top><FONT face='Verdana, Arial, Helvetica, sans-serif' color=#000000 size=2>Your Educational Level</FONT></TD>"; $strBody=$strBody."<TD align=left valign=top><FONT face='Verdana, Arial, Helvetica, sans-serif' color=#000000 size=1>".$_SESSION['reqfor']."</font></TD></TR>"; $strBody=$strBody."<TR><TD align=left valign=top><FONT face='Verdana, Arial, Helvetica, sans-serif' color=#000000 size=2>Desired Size</FONT></TD>"; $strBody=$strBody."<TD align=left valign=top colSpan=2><FONT face='Verdana, Arial, Helvetica, sans-serif' color=#000000 size=1>".$_SESSION['dsize']." page(s), ".$_SESSION['nofwords']." Words.</font></TD></TR>"; $strBody=$strBody."<TR><TD align=left valign=top><FONT face='Verdana, Arial, Helvetica, sans-serif' color=#000000 size=2>Dead Line</FONT></TD>"; $strBody=$strBody."<TD colSpan=2 align=left valign=top><FONT face='Verdana, Arial, Helvetica, sans-serif' color=#000000 size=1>".$_SESSION['deadline']." (".$_SESSION['deadlinedate'].")</font></TD></TR>"; $strBody=$strBody."<TR><TD align=left valign=top><FONT face='Verdana, Arial, Helvetica, sans-serif' color=#000000 size=2>Type/Format</FONT></TD>"; $strBody=$strBody."<TD colSpan=2 align=left valign=top><FONT face='Verdana, Arial, Helvetica, sans-serif' color=#000000 size=1>".$_SESSION['typeformat']."</font></TD></TR>"; $strBody=$strBody."<TR><TD align=left valign=top><FONT face='Verdana, Arial, Helvetica, sans-serif' color=#000000 size=2>Style of Report / Style of Citation</FONT></TD>"; $strBody=$strBody."<TD colSpan=2 align=left valign=top><FONT face='Verdana, Arial, Helvetica, sans-serif' color=#000000 size=1>".$_SESSION['stylereport']."</font></TD></TR>"; $strBody=$strBody."<TR><TD align=left valign=top><FONT face='Verdana, Arial, Helvetica, sans-serif' color=#000000 size=2>Your Email</FONT></TD>"; $strBody=$strBody."<TD colSpan=2 align=left valign=top><FONT face='Verdana, Arial, Helvetica, sans-serif' color=#000000 size=2><a href='mailto:".$_SESSION['email']."'>".$_SESSION['email']."</a></TD></TR>"; $strBody=$strBody."<TR><TD align=left valign=top><FONT face='Verdana, Arial, Helvetica, sans-serif' color=#000000 size=2>Alternate Email</FONT></TD>"; $strBody=$strBody."<TD colSpan=2 align=left valign=top><FONT face='Verdana, Arial, Helvetica, sans-serif' color=#000000 size=2><a href='mailto:".$_SESSION['aemail']."'>".$_SESSION['aemail']."</a></TD></TR>"; $strBody=$strBody."<TR><TD colSpan=3></TD></TR></TABLE>"; $strBody=$strBody."</TABLE></form>"; echo $strBody; $to= $_SESSION['email']; $from = "**********"; $subject = "Testing mail"; $message = "Hello! This is a simple email message."; echo mail($to,$subject,$strBody,$from); 

если я использую $ strBody, я получаю ошибку … если я использую $ message, код работает нормально. Я показываю $ strBody, и он отображается нормально, но когда я пытаюсь использовать его в mail (), я получаю ошибку.

Кто-нибудь может помочь.

Solutions Collecting From Web of "Я получаю сообщение об ошибке «Не удалось получить», когда я использую mail () в php"

Согласно Руководству по PHP для почты () , строки в сообщении должны иметь длину не менее 70 символов. и должен быть отделен \ n (LF). Хотя я никогда не сталкивался с проблемой, вызванной этим, вы можете попробовать.

О, я вообще записываю сообщение HTML в одну строку, например:

 $message = ' <div> <span>... ...etc... '; 

Таким образом, он автоматически получает новые строки. Вы можете просто обрезать $strBody=$strBody." Части и $strBody=$strBody." сообщение в одну многострочную строку.

Если вы не можете заставить его работать, вы можете попробовать готовые классы, такие как Zend Mail .

$to= $_SESSION['email']; Вы уверены, что ваш сеанс содержит правильный адрес электронной почты? Попробуйте отладить его. Может быть, вы забыли session_start перед выходом?