php中的文件附件邮件
你好,我正在通过电子邮件提交html表单。服务器端脚本是P。我的html表单是php中的文件附件邮件,php,html,Php,Html,你好,我正在通过电子邮件提交html表单。服务器端脚本是P。我的html表单是 <form action='sendmail.php' method='post'> Name:<input type="text" name="name"> File:<input type='file' name='attach'> <input type="submit"> 姓名: 文件: 我发送电子邮件的php文件是 <?php
<form action='sendmail.php' method='post'>
Name:<input type="text" name="name">
File:<input type='file' name='attach'>
<input type="submit">
姓名:
文件:
我发送电子邮件的php文件是
<?php
$strTo = "xyz@gmail.com";
$strHeader .= "From: ".$_POST["name"]."<".$_POST["name"].">";
$strHeader .= "MIME-Version: 1.0\n";
$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";
if($_FILES["attach"]["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,"no-subjet",null,$strHeader);
尝试用以下内容替换您的表单:
<form action="sendmail.php" method="post" enctype="multipart/form-data">
Name:<input type="text" name="name">
File:<input type="file" name="attach" id="attach">
<input type="submit">
</form>
我没有收到附件。我将根据您的答案而不是添加我自己的答案—字段名称也不匹配。在HTML中是name=“attach”
,但是在PHP.agentConnut中是$\u FILES['fileAttach']
,如果你是对的,我主要是回答为什么不进入这种状态的问题。补充到答案中。
if($_FILES["attach"]["name"] != "")
{
$strFilesName = $_FILES["attach"]["name"];
...
}