从表单通过wp_mail函数我正在尝试发送带附件的电子邮件,而不将文件上传到文件管理器.
我收到附件的电子邮件.但附件名称不正确,没有文件类型.请帮忙解决这个问题.
我收到附件的电子邮件.但附件名称不正确,没有文件类型.请帮忙解决这个问题.
这是HTML表单
<form action="POST" enctype="multipart/form-data"> <table> <input type="file" name="Attached"> <input type="Submit" name="Submit"> </table> </form>
if (isset($_POST['Submit'])) { $attachments = $_FILES['Attached']['tmp_name']; $recipients = "john@mail.com"; $SenderName = get_bloginfo('name'); $SenderEmail = "noreply@domain.com"; $body = "How are you what are you doing Now. bla bla bla"; $recipients = array($to); $headers[] = "From: $SenderName <$SenderEmail>" . "\r\n"; $headers[] = "Content-Type: text/html"; $subj = "This is mail subject"; $SendMail = wp_mail( $recipients,$subj,$body,$headers,$attachments ); }
解决方法
好吧,我不得不为这一个提出解决方法
我做的是
>将文件上传到服务器
>使用wp-mail发送电子邮件
>成功发送电子邮件或不成功;取消上传图片的链接
/*image upload */ /* GET File Variables */ $target_dir = $_SERVER['DOCUMENT_ROOT']. "/uploads/"; $image_name = $_FILES['YOUR_IMAGE']['name']; $target_file = $target_dir . basename($_FILES['YOUR_IMAGE']['name']); $uploadOk = 1; $imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION)); // Check if image file is a actual image or fake image $check = getimagesize($_FILES["YOUR_IMAGE"]["tmp_name"]); if($check !== false) { echo "File is an image - " . $check["mime"] . "."; $uploadOk = 1; } else { echo "File is not an image."; $uploadOk = 0; } // Check file size if ($_FILES["YOUR_IMAGE"]["size"] > 500000) { echo "Sorry,your file is too large."; $uploadOk = 0; } // Allow certain file formats if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" ) { echo "Sorry,only JPG,JPEG,PNG & GIF files are allowed."; $uploadOk = 0; } // Check if $uploadOk is set to 0 by an error if ($uploadOk == 0) { echo "Sorry,your file was not uploaded."; // if everything is ok,try to upload file } else { if (move_uploaded_file($_FILES["YOUR_IMAGE"]["tmp_name"],$target_file)) { echo "The file ". basename( $_FILES["YOUR_IMAGE"]["name"]). " has been uploaded."; } else { echo "Sorry,there was an error uploading your file."; } } $attachment = array($target_file);
2.使用wp-mail邮件
$to = $Email; // put your email here $headers = array('Content-Type: text/html; charset=UTF-8','From:' . $name . '<' . $fromEmail . '>'); // $headers = 'From:' . $name . '<' . $studentEmail . '>' . "\r\n"; // put user's email here or duplicate your email $subject = 'Apply Online Form'; if (wp_mail($to,$subject,$message,$attachment ) === false) { echo "Error"; unlink($target_file); } else { unlink($target_file); echo "<h3> Mail Sent Successfully</h3>"; }
unlink($target_file);