1
내가 완벽하게 작동하지만 첨부 파일이 여기 (내가 모든 파일 I 부하가 크기 0킬로바이트 인 attachments..but를 볼 수 있음을 의미) null이이 스크립트 코드입니다했습니다 :추가 첨부 메일
allegato 사람이 첨부 파일이 도움이 될 수 있습니다 첨부 파일을
$path = $allegato['tmp_name'];
$fp = fopen($path, 'r');
do //we loop until there is no data left
{
$data = fread($fp, 8192);
if (strlen($data) == 0) break;
$content .= $data;
} while (true);
$content_encode = chunk_split(base64_encode($content));
$mime_boundary = "<<<--==+X[".md5(time())."]";
$headers .= "From:".$email."\r\n";
$headers .= "To: me <[email protected]>\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/mixed;\r\n";
$headers .= " boundary=\"".$mime_boundary."\"";
$message .= "This is a multi-part message in MIME format.\r\n";
$message .= "\r\n";
$message .= "--".$mime_boundary."\r\n";
$message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n";
$message .= "Content-Transfer-Encoding: 7bit\r\n";
$message .= "\r\n";
$message .= "Email sent from:".$nome." \r\n";
$message .= $messaggio."\r\n";
$message .= "--".$mime_boundary."\r\n";
$message .= "Content-Type: ".$allegato_type."\"\r\n";
$message .= " name=\ ".$allegato_name."\"\r\n";
$message .= "Content-Transfer-Encoding: base64\r\n";
$message .= "Content-Disposition: attachment;\r\n";
$message .= " filename=\ ".$allegato_name."\"\r\n";
$message .= "\r\n";
$message .= $content_encode;
$message .= "\r\n";
$message .= "--".$mime_boundary."\r\n";
$ok = mail("[email protected]", $object, $message, $headers);
if($ok)
{
echo'<script type="text/javascript">alert("mail sent successfully ! ");</script>';
}
else
{ echo'<script type="text/javascript">alert("mail failed! ");</script>';}
을 의미하십시오? (전송 된 모든 파일이 내가 그것을 해결하는 방법, 0킬로바이트입니까?)
, 나는 실현을 그 PHP의 PEAR 프레임 워크의 [Mail_Mime 패키지 (HTTP : //pear.php.net/package/Mail_Mime/redirected)은 훨씬 쉬웠고 문제는별로 없었습니다. 나는 당신이 그것을 시험해 볼 것을 제안한다. – Travesty3
관련이 있지만'filename = \ ". $ allegato_name."\ "\ r \ n";' – sofl
Travesty3에 대한 견적이 누락 된 것 같습니다. 문제는 배가 프로덕션 서버에 설치되어 있습니다. sofl 어쩌면 당신이 맞을 것입니다, 어떻게해야합니까? – Kato