【问题标题】:PHP, MYSQL send email with pdf attachement from databasePHP,MYSQL 从数据库发送带有 pdf 附件的电子邮件
【发布时间】:2014-10-23 14:05:55
【问题描述】:

我有一张这样的桌子:

file_id : INT
file_name : VARCHAR[20]
file_data : BLOB

我将 PDF 文件存储在其中,我想发送一封电子邮件(使用 PHP),其中包含来自数据库的附件。有任何想法或指南吗?

编辑:我不想下载它然后附加它,然后删除临时文件。

【问题讨论】:

  • 谷歌总是好的。 lmgt fy.com/?q=send+attachment+php(去掉空格)
  • 我已经用谷歌搜索过了,但我需要直接从数据库中附加它。不太一样,因为我不想下载它然后附加它,然后删除临时文件。
  • 从数据库中获取文档,并附上?将文档存储为 blob?
  • 将文件作为 blob 存储在 DB 中会显着增加其大小 (DB),具体取决于您拥有的文件数量以及文档的大小。最好将文件保存在安全区域,并在列中链接到文档。 @meska

标签: php mysql email


【解决方案1】:

试试这个

<?php
$path = "temp/";
$my_file="file.pdf";

$from_name = "hhhhh";

$from_mail = "abc@gmail.com";

$mailto = "abc@gmail.com";

$subject = "This is a mail with attachment.";

$message = "Hi,\r\n do you got attachment?\r\n\r\Hara";

$replyto="haraprasad@lemonpeak.com";
$file = $path.$my_file;
    $file_size = filesize($file);


$handle = fopen($file, "r");

$content = fread($handle, $file_size);

fclose($handle);

$content = chunk_split(base64_encode($content));

$uid = md5(uniqid(time()));

$name = basename($file);

 $header = "From: ".$from_name." <".$from_mail.">\r\n";

$header .= "Reply-To: ".$replyto."\r\n";
    $header .= "MIME-Version: 1.0\r\n";

 $header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n";

$header .= "This is a multi-part message in MIME format.\r\n";

$header .= "--".$uid."\r\n";

$header .= "Content-type:text/plain; charset=iso-8859-1\r\n";

$header .= "Content-Transfer-Encoding: 7bit\r\n\r\n";

$header .= $message."\r\n\r\n";
    $header .= "--".$uid."\r\n";

$header .= "Content-Type: application/octet-stream; name=\"".$name."\"\r\n"; // use different content types here

$header .= "Content-Transfer-Encoding: base64\r\n";

$header .= "Content-Disposition: attachment; filename=\"".$name."\"\r\n\r\n";
    $header .= $content."\r\n\r\n";

$header .= "--".$uid."--";

mail($mailto, $subject, $message, $header) 

?>

【讨论】:

    猜你喜欢
    • 2020-11-20
    • 2014-02-28
    • 1970-01-01
    • 2011-10-09
    • 1970-01-01
    • 2014-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多