1

我在这里有一个网站。

这个页面的工作方式很棒。我可以填写所有字段,并附加一个文档并点击发送,然后电子邮件就会发送。

这里有一个 JSFiddle 。

                    <td style="font-size: 22px; font-weight: bold; text-align: center;">Forms <br />you <br />want to <br />attach:</td>
                        <td style="padding-left: 20px;">
        <input name="fileAttach[]" type="file" class="multi"><br><br>
                        </td>

但是,我在这里设置了另一个页面。这是我真正想要的。

但是,在每个复选框后面,我希望有预定义的文档。一种附件。

逻辑会这样工作......

  1. 填写“收件人”框和“主题”。
  2. 必要的复选框被选中。
  3. 点击“发送”,电子邮件就会关闭。

这里有一个JSFiddle

这是该代码的一些代码...

</div><!-- Close Form Header -->
    <div class="form-column"><!-- Column -->
    <div class="form-label">Financial Aid Forms</div><!-- Label -->
        <div class="form-content"><!-- Content -->
            <ul>
                <li><input name="fileAttach[]"  type="checkbox" class="multi">Finance Form 1</li><br />
            </ul>
       </div>

我不知道如何配置复选框后面的文档。我只是希望从服务器中提取文档。

我不确定如何在 JSFiddle 中包含 PHP 文件,所以我在此处发布与附件相关的部分。

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

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

$strHeader = "";
$strHeader .= "From: ".$_POST["South University"]."<".$_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 ***//
for($i=0;$i<count($_FILES["fileAttach"]["name"]);$i++)
{
if($_FILES["fileAttach"]["name"][$i] != "")
{
$strFilesName = $_FILES["fileAttach"]["name"][$i];
$strContent = chunk_split(base64_encode(file_get_contents($_FILES["fileAttach"]["tmp_name"][$i])));
$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.";
}
?>

或者,如果有更简单的方法可以做到这一点,请告诉我。我仍然想保持上述相同的功能。

4

0 回答 0