我需要自动将文件附加到出站电子邮件...帮助

时间:2009-09-24 03:07:44

标签: php email attachment

我有一个表单(input.html),由在该公司的五个不同部门工作的人员完成。提交表单后,它会发布到output.php。

Output.php做了很多事情: 首先,它将所有输入信息显示为完成的表单。 (只是向他们展示他们完成的文件)。

它还基于input.html中的两个输入字段创建了一个名为unique_file.html的文件。

接下来,output.php根据input.html中选择的另一个输入字段向五个电子邮件组之一发送了一封电子邮件。

最后(现在),我需要unique_file.html作为电子邮件的附件。这是我的问题。

我找到了上传文件的脚本,我发现了许多关于上传文件的教程,但我只是想将unique_file.html附加到我的外发邮件中,我不知道如何完成。

有人能指出我在哪里开始正确的方向吗?我肯定错过了这一条船,我可能已经看到它并没有意识到它。

2 个答案:

答案 0 :(得分:0)

如果您可以使用Zend_Framework,您可以轻松地将文件附加到电子邮件,即

$mail = new Zend_Mail();

$at = new Zend_Mime_Part($myImage);
$at->type        = 'image/gif';
$at->disposition = Zend_Mime::DISPOSITION_INLINE;
$at->encoding    = Zend_Mime::ENCODING_8BIT;
$at->filename    = 'test.gif';

$mail->addAttachment($at);

$mail->send();

documentation, 您也应该能够使用Mail_Mime pear包和普通mail函数附加文件。

但我认为使用Zend框架的解决方案要简单得多。

干杯。

答案 1 :(得分:0)

我发现PHPMailer最适合这个。 example from their site

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

$mail             = new PHPMailer(); // defaults to using php "mail()"

$body             = file_get_contents('contents.html');
$body             = eregi_replace("[\]",'',$body);

$mail->AddReplyTo("name@yourdomain.com","First Last");

$mail->SetFrom('name@yourdomain.com', 'First Last');

$mail->AddReplyTo("name@yourdomain.com","First Last");

$address = "whoto@otherdomain.com";
$mail->AddAddress($address, "John Doe");

$mail->Subject    = "PHPMailer Test Subject via mail(), basic";

$mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test

$mail->MsgHTML($body);

$mail->AddAttachment("images/phpmailer.gif");      // attachment
$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment

if(!$mail->Send()) {
  echo "Mailer Error: " . $mail->ErrorInfo;
} else {
  echo "Message sent!";
}