浏览到图像文件,然后附加到PHP邮件

时间:2012-07-27 20:49:27

标签: php html email attachment

我不是这方面的专业人士,所以请原谅我提出这样一个(可能)愚蠢的问题。

我需要帮助设置(在html页面上)一种方法,允许访问者浏览他们的计算机上的文件(实际上是2个文件),当他们选择提交时将附加到PHP邮件表单。

我知道使用PHP邮件图像,我需要使用像PearMime或PHPMailer这样的东西。

*的 更新 *

好的,现在我知道如何使用HTML表单来获取文件。当我使用以下PHP时,我做错了什么?我通过ID从HTML页面请求了2个文件(HTML正确创建了两个文件),即PHPMailer_5.2.1的位置,$ mail-> MsgHTML(file_get_contents('testfiles.html'));实际上是在查看我在该位置创建的html页面,该页面只有一个html文档的模板启动程序,其中包含正文中的单词Sample。

<?php

require("PHPMailer_5.2.1/class.phpmailer.php");

$mail = new PHPMailer(); //defaults to using php "mail()"; the true param means it will throw exceptions on errors, which we need to catch


$file1 = $_REQUEST['file1'];
$file2 = $_REQUEST['file2'];

try {
  $mail->AddReplyTo('myemail@domain.com', 'FirstName LastName');
  $mail->AddAddress('myemail@domain.com', 'FirstName LastName');
  $mail->SetFrom('myemail@domain.com', 'FirstName LastName');
  $mail->AddReplyTo('myemail@domain.com', 'FirstName LastName');
  $mail->Subject = 'PHPMailer Test Subject via mail(), advanced';
  $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional - MsgHTML will create an alternate automatically
  $mail->MsgHTML(file_get_contents('testfiles.html'));
  $mail->AddAttachment($file1);      // attachment
  $mail->AddAttachment($file2); // attachment
  $mail->Send();
  echo "Message Sent OK</p>\n";
} catch (phpmailerException $e) {
  echo $e->errorMessage(); //Pretty error messages from PHPMailer
} catch (Exception $e) {
  echo $e->getMessage(); //Boring error messages from anything else!
}


?>

1 个答案:

答案 0 :(得分:1)

您正在寻找HTML属性吗?

<form action="upload_file.php" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" /> 
<br />
<input type="submit" name="submit" value="Submit" />

enctype="multipart/form-data位于您的代码中非常重要,否则将无法附加图片。然后您的PHP脚本应根据需要处理字段。祝你好运:)