php_sendmail_upload1.php

<html>
<head>
<title>ShotDev.Com Tutorial</title>
</head>
<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>&nbsp;</td>
<td><input type=”submit” name=”Submit” value=”Send”></td>
</tr>
</table>
</form>
</body>
</html>
php_sendmail_upload2.php

<html><head><title>ShotDev.Com Tutorial</title>

  1. </head>
    <body>
    <?
    $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.”;
    }
    ?>
    </body>
    </html>

  2. http://www.shotdev.com/php/php-mail/php-send-email-upload-form-attachment-file/