使用PHP或PHPMailer通过电子邮件填写PDF

时间:2013-02-19 20:50:43

标签: php pdf phpmailer pdf-manipulation

我公司目前正在努力简化提交表单的流程。我已经读过我们尝试做的事情可以用PHP或PHPMailer完成,但我似乎遇到了障碍。

我们要做的是在浏览器中打开一个可填写的PDF,填写它,然后点击底部的按钮将其通过电子邮件发送给指定的收件人。

我目前有一个PHP脚本,允许我使用PHPMailer和我们的服务器电子邮件服务通过电子邮件发送空白文档。

我尝试过使用PHPMailer的“AddStringAttachment”功能:

<?php

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

$mail = new PHPMailer();

$mail->IsSMTP();  // telling the class to use SMTP
$mail->Host     = "xxx.xxx.org"; // SMTP server

$mail->From     = "xxx@xxx.org";
$mail->AddAddress("xxx@xxx.org");

$mail->Subject  = "Attachment Test";
$mail->Body     = "Hi! \n\n This is my first e-mail sent through PHPMailer.";
$mail->WordWrap = 50;
$mail->AddStringAttachment($string,'filename.pdf');

if(!$mail->Send()) {
  echo 'Message was not sent.';
  echo 'Mailer error: ' . $mail->ErrorInfo;
} else {
  echo 'Message has been sent.';
}
?>

...但我找不到以发送已完成表单的方式定义字符串的方法。目前,如果我将任何数据放入“$ string”字段,则电子邮件将失败。

这甚至可能吗?或者我只是在转动轮子?

1 个答案:

答案 0 :(得分:0)

问题可能出在您的邮件服务器上。许多服务器不喜欢发送损坏的PDF,这些PDF可能是任何看起来不像普通PDF的PDF - 比如一串英文文本。

在我开始如何使用PHP生成PDF之前,您是否能够发送任何其他类型的附件?