通过PHP mail()函数发送一个简单的附件

时间:2010-07-10 20:59:47

标签: php forms attachment

我要再试一次,因为我的上一个问题可能令人困惑。 我有一个简单的 Web表单,包含以下一些输入(现在,假装我有两个输入,名称和文件输入)。我希望用户上传文档(如果可能的话,限制为.doc,.docx,.pdf,如果无法完成,请将其限制为.doc),并且我希望将大小限制在2MB以下。

让我重新说一下。要附加的文件在网络服务器上是 NOT 。它将动态上传到临时文件夹,通过邮件脚本发送,然后删除。

如果可以做到这一点,请,我需要得到所有帮助。

我已经尝试过Swiftmailer,PHPMailer,PEAR,我似乎无法让他们工作。我只需要一个发送附件的简单脚本,仅此而已。没有必要验证,没有。

非常感谢任何帮助。

非常感谢, 阿米特

1 个答案:

答案 0 :(得分:4)

可以使用您列出的所有3个库(PHPMAiler,PEAR和Swiftmailer)。

对于PHPMailer,您可以看到tutorial here

require_once '../class.phpmailer.php';

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

try {
  $mail->AddReplyTo('name@yourdomain.com', 'First Last');
  $mail->AddAddress('whoto@otherdomain.com', 'John Doe');
  $mail->SetFrom('name@yourdomain.com', 'First Last');
  $mail->AddReplyTo('name@yourdomain.com', 'First Last');
  $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('contents.html'));
  $mail->AddAttachment('images/phpmailer.gif');      // attachment
  $mail->AddAttachment('images/phpmailer_mini.gif'); // attachment
  $mail->Send();
  echo "Message Sent OK<P></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!
}

AddAttachment将从您的服务器获取文件。

如何从HTML表单上传文件可以是found here。发送电子邮件后,您可以从服务器中删除(unlink)该文件。

PHP manual can help you更好地隐藏文件上传内容。

所有你想做的事情都很容易实现,但解释的时间要长于它:)但是通过我给你的所有链接,你拥有了你需要的一切。如果您有具体问题,请告诉我。