最近我使用 ProjectPier 项目使用 PHP 创建了电子邮件发件人。我正在使用我的Gmail SMTP服务器信息发送电子邮件。这个脚本非常有效。
我想在我的php邮件发件人脚本中添加文件附件
。那我怎么能这样做呢?
<?php
$headers = array();
$headers[] = "MIME-Version: 1.0";
$headers[] = "Content-type: text/plain; charset=iso-8859-1";
$headers[] = "From: $_POST[name] <$_POST[email]>";
$headers[] = $_POST['name'];
$headers[] = $_POST['email'];
$subject = $_POST['subject'];
$body = $_POST['body'];
if(mail("nur_selam@yahoo.com",$subject,$body, implode("\r\n", $headers))){
echo "your email has been sent.";
}
else{
echo "email sending failed.";
}
?>
答案 0 :(得分:0)
我使用以下代码发送附件图片.. 你可以尝试这个。
<?php
if (isset($_POST['submit'])) {
$headers = "From: abc@example.com mailer \r\n";
$message .= $_POST['message'];
/* GET File Variables */
$tmpName = $_FILES['attachment']['tmp_name'];
$fileType = $_FILES['attachment']['type'];
$fileName = $_FILES['attachment']['name'];
if (file_exists($tmpName)) {
/* Reading file ('rb' = read binary) */
$file = fopen($tmpName,'rb');
$data = fread($file,filesize($tmpName));
fclose($file);
/* a boundary string */
$randomVal = md5(time());
$mimeBoundary = "==Multipart_Boundary_x{$randomVal}x";
/* Header for File Attachment */
$headers .= "\nMIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/mixed;\n" ;
$headers .= " boundary=\"{$mimeBoundary}\"";
/* Multipart Boundary above message */
$message = "This is a multi-part message in MIME format.\n\n" .
"--{$mimeBoundary}\n" .
"Content-Type: text/plain; charset=\"iso-8859-1\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$message . "\n\n";
/* Encoding file data */
$data = chunk_split(base64_encode($data));
/* Adding attchment-file to message*/
$message .= "--{$mimeBoundary}\n" .
"Content-Type: {$fileType};\n" .
" name=\"{$fileName}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n" .
"--{$mimeBoundary}--\n";
}
$to_user = "your emailid";
$flgchk = mail("$to_user", "$subject", "$message", "$headers");
//require_once ('./includes/functions_mail.php');
if ($flgchk) {
echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"2;url=forwardtoother.php?page=inbox.php\">";
echo "Done, <br>";
echo "Redirecting you to your <a href=\"?page=inbox.php\">Inbox</a>";
}
else
{
echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"2;url=forwardtoother.php?page=inbox.php\">";
echo "Failed to send email, <br>";
echo "Redirecting you to your <a href=\"?page=inbox.php\">Inbox</a>";
}
}
?>
<form name="form1" method="post" action="" enctype="multipart/form-data">
<table>
<tr>
<td width='20'><b>Select File:</b> </td>
<td width='20'><input type="file" name="attachment"></td>
</tr>
<p><td width='20'>
<input type="reset" name="Submit2" value="Start Over." class="Submit"/></td><td>
<input type="submit" name="Submit" value="Send" class="Submit" /></td></tr></table>
</p>
</form>
答案 1 :(得分:-1)
看一下你可以使用此文件上传文件并使用标题将其作为附件How to upload & Save Files with Desired name