嗨,我想发送带有doc,docx和pdf附件的邮件。我正在收到doc和docx的电子邮件。但是当我尝试用pdf附件发送邮件时,它不起作用。因此,我收到错误消息'上传的文件不支持文件类型'。我不能找到错误。谁能帮我?我的代码:使用Swiftmailer如何使用php发送pdf附件的电子邮件?
<?php
$to = $_POST["txtTo"];
$subject = $_POST["txtSubject"];
$from = $_POST["txtFormEmail"];
$message = $_POST["txtDescription"];
$random_hash = md5(date('r', time()));
$headers .= "From: ".$from."<".$from.">\nReply-To: ".$_POST["txtFormEmail"]."";
$headers .= "\r\nContent-Type: multipart/mixed; boundary=\"PHP-mixed-".$random_hash."\"";
$strFilesName = $_FILES["fileAttach"]["name"];
$attachment = chunk_split(base64_encode(file_get_contents($_FILES["fileAttach"]["tmp_name"])));
ob_start();
//Turn on output buffering
?> --PHP-mixed-<?php echo $random_hash; ?> Content-Type: multipart/alternative; boundary="PHP-alt-<?php echo $random_hash; ?>" --PHP-alt-<?php echo $random_hash; ?> Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit --PHP-alt-<?php echo $random_hash; ?> Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: 7bit <?php echo $message; ?> --PHP-alt-<?php echo $random_hash; ?>-- --PHP-mixed-<?php echo $random_hash; ?> Content-Type: <?php echo $_FILES["fileAttach"]["type"]; ?>; name="<?php echo $strFilesName; ?>" Content-Transfer-Encoding: base64 Content-Disposition: attachment <?php echo $attachment; ?> --PHP-mixed-<?php echo $random_hash; ?>-- <?php
$message = ob_get_clean();
if ($_FILES["fileAttach"]["type"] == "application/pdf"|| $_FILES["fileAttach"]["type"]=="application/msword"||$_FILES["fileAttach"]["type"]==application/vnd.openxmlformats-officedocument.wordprocessingml.document")if($_FILES["fileAttach"]["size"] < 1024000){if ($_FILES["fileAttach"]["error"] > 0){ echo "Error:
" . $_FILES["fileAttach"]["error"]."<br />";}else{$mail_sent = @mail($to, $subject, $message, $headers);
}
echo $mail_sent ? "Mail sent" : "Mail failed";}else{echo ' File Size should be with in 1000 KB';} }else{echo 'The uploaded file is not supported file type.'; }?>
我不知道谁有胆量编辑您的问题 –