php添加附件,通过PHPMailer添加附件

我有以下

PHPMailer代码.问题是文件成功上传到服务器,但是邮件中没有发送附件.附件代码似乎是我所知的最好的.请检查代码,让我知道我在哪里出错了.

形成

Title *

Title

Mr.

Ms.

Mrs.

First Name *

Last Name *

Email Address *

Telephone Number *

Details

Or upload a file (only word, excel or pdf)

send1.php

require('PHPMailer/class.phpmailer.php');

if(isset($_POST['email'])) {

// EDIT THE 2 LINES BELOW AS REQUIRED

//$email_to = "hidden";

//$email_subject = "Request for Portfolio check up from ".$first_name." ".$last_name;

$title = array('Title', 'Mr.', 'Ms.', 'Mrs.');

$selected_key = $_POST['title'];

$selected_val = $title[$_POST['title']];

$first_name = $_POST['first_name']; // required

$last_name = $_POST['last_name']; // required

$email_from = $_POST['email']; // required

$telephone = $_POST['telephone']; // not required

$comments = $_POST['comments']; // required

if(($selected_key==0))

echo "";

function clean_string($string) {

$bad = array("content-type","bcc:","to:","cc:","href");

return str_replace($bad,"",$string);

}

$email_message = "";

$email_message .="Title: ".$selected_val."\n";

$email_message .= "First Name: ".clean_string($first_name)."\n";

$email_message .= "Last Name: ".clean_string($last_name)."\n";

$email_message .= "Email: ".clean_string($email_from)."\n";

$email_message .= "Telephone: ".clean_string($telephone)."\n";

$email_message .= "Comments: ".clean_string($comments)."\n";

$allowedExts = array("doc", "docx", "xls", "xlsx", "pdf");

$temp = explode(".", $_FILES["file"]["name"]);

$extension = end($temp);

if ((($_FILES["file"]["type"] == "application/pdf")

|| ($_FILES["file"]["type"] == "application/msword")

|| ($_FILES["file"]["type"] == "application/excel")

|| ($_FILES["file"]["type"] == "application/vnd.ms-excel")

|| ($_FILES["file"]["type"] == "application/x-excel")

|| ($_FILES["file"]["type"] == "application/x-msexcel")

|| ($_FILES["file"]["type"] == "application/vnd.openxmlformats-officedocument.wordprocessingml.document")

|| ($_FILES["file"]["type"] == "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"))

&& in_array($extension, $allowedExts))

{

if ($_FILES["file"]["error"] > 0)

{

echo "";

}

else

{

$d='upload/';

$de=$d . basename($_FILES['file']['name']);

move_uploaded_file($_FILES["file"]["tmp_name"], $de);

$fileName = $_FILES['file']['name'];

$filePath = $_FILES['file']['tmp_name'];

//add only if the file is an upload

}

}

else

{

echo "";

}

// create email headers

$headers = 'From: '.$email_from."\r\n".

'Reply-To: '.$email_from."\r\n" .

'X-Mailer: PHP/' . phpversion();

//Create a new PHPMailer instance

$mail = new PHPMailer();

//Tell PHPMailer to use SMTP

$mail->IsSMTP();

//Enable SMTP debugging

// 0 = off (for production use)

// 1 = client messages

// 2 = client and server messages

$mail->SMTPDebug = 0;

//Ask for HTML-friendly debug output

$mail->Debugoutput = 'html';

//Set the hostname of the mail server

$mail->Host = "hidden";

//Set the SMTP port number - likely to be 25, 465 or 587

$mail->Port = 25;

//Whether to use SMTP authentication

$mail->SMTPAuth = true;

//Username to use for SMTP authentication

$mail->Username = "hidden";

//Password to use for SMTP authentication

$mail->Password = "hidden";

//Set who the message is to be sent from

$mail->SetFrom($email_from, $first_name.' '.$last_name);

//Set an alternative reply-to address

//$mail->AddReplyTo('replyto@example.com','First Last');

//Set who the message is to be sent to

$mail->AddAddress('hidden', 'hidden');

//Set the subject line

$mail->Subject = 'Request for Profile Check up';

//Read an HTML message body from an external file, convert referenced images to embedded, convert HTML into a basic plain-text alternative body

$mail->MsgHTML($email_message);

//Replace the plain text body with one created manually

$mail->AltBody = 'This is a plain-text message body';

//Attach an image file

//$mail->AddAttachment($file);

$mail->AddAttachment($_FILES['file']['tmp_name'], $_FILES['file']['name']);

//Send the message, check for errors

if(!$mail->Send()) {

echo "";

} else {

echo "";

Header('Location: main.php');

}

}

?>

编辑邮件成功发送所有的细节.只是附件不会发送.

编辑2:解决更改$mail-> MsgHTML到$mail->正文它工作!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值