发送附带附件的电子邮件 [英] Send email with attachement

查看:96
本文介绍了发送附带附件的电子邮件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,

我正在尝试构建测试PHP发送电子邮件页面。我是PHP的新手。

我在电子邮件中附上PDF,但是没有发送电子邮件



请指教



我尝试了什么:



这是html页面:

Hi all,
I'm trying to build a test PHP send email page. I'm really new to PHP.
I attach an PDF to the email, but it doesn't send the email

Please advise

What I have tried:

Here's html page:

<pre><body>
	<form action="php_sendmail_upload2.php" method="post" name="form1" enctype="multipart/form-data">
	<table width="343" border="1">
		<tr>
		<td>To</td>
		<td><input name="txtTo" type="text" id="txtTo"></td> 
	</tr> 
	<tr>
		<td>Subject</td>
		<td><input name="txtSubject" type="text" id="txtSubject"></td>
	</tr>
	<tr>
		<td>Description</td>
		<td><textarea name="txtDescription" cols="30" rows="4" id="txtDescription"></textarea></td>
	</tr>
	<tr>
		<td>Form Name</td>
		<td><input name="txtFormName" type="text"></td>
	</tr>
	<tr>
	<tr>
		<td>Form Email</td>
		<td><input name="txtFormEmail" type="text"></td>
	</tr>
	<tr>
	  <td>Attachment</td>
	  <td><input name="fileAttach" type="file"></td>
	</tr>
	<tr>
		<td> </td>
		<td><input type="submit" name="Submit" value="Send"></td>
	</tr>
	</table>
	</form>
</body>







PHP代码:




PHP code:

<?PHP
	$strTo = $_POST["txtTo"];
	$strSubject = $_POST["txtSubject"];
	$strMessage = nl2br($_POST["txtDescription"]);

	//*** Uniqid Session ***//
	$strSid = md5(uniqid(time()));

	$strHeader = "";
	$strHeader .= "From: ".$_POST["txtFormName"]."<".$_POST["txtFormEmail"].">\nReply-To: ".$_POST["txtFormEmail"]."";

	$strHeader .= "MIME-Version: 1.0\n";
	$strHeader .= "Content-Type: multipart/mixed; boundary=\"".$strSid."\"\n\n";
	$strHeader .= "This is a multi-part message in MIME format.\n";

	$strHeader .= "--".$strSid."\n";
	$strHeader .= "Content-type: text/html; charset=utf-8\n";
	$strHeader .= "Content-Transfer-Encoding: 7bit\n\n";
	$strHeader .= $strMessage."\n\n";
	
	//*** Attachment ***//
	if($_FILES["fileAttach"]["name"] != "")
	{
		$strFilesName = $_FILES["fileAttach"]["name"];
		$strContent = chunk_split(base64_encode(file_get_contents($_FILES["fileAttach"]["tmp_name"]))); 
		$strHeader .= "--".$strSid."\n";
		$strHeader .= "Content-Type: application/octet-stream; name=\"".$strFilesName."\"\n"; 
		$strHeader .= "Content-Transfer-Encoding: base64\n";
		$strHeader .= "Content-Disposition: attachment; filename=\"".$strFilesName."\"\n\n";
		$strHeader .= $strContent."\n\n";
	}
	

	$flgSend = @mail($strTo,$strSubject,null,$strHeader);  // @ = No Show Error //

	if($flgSend)
	{
		echo "Mail send completed.";
	}
	else
	{
		echo "Cannot send mail.";
	}
?>

推荐答案

strTo =
strTo =


_POST [ txtTo ]。
_POST["txtTo"];


strSubject =
strSubject =


这篇关于发送附带附件的电子邮件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆