我想用php邮件发送pdf文件。我知道文件的名称和位置(以cup-pdf打印的发票),并且当我点击我网站上的按钮时,想要在php中自动发送。如何才能做到这一点?感谢
答案 0 :(得分:2)
您应该使用为此构建的类之一,例如PEAR Mail。 有关更多解释,假设我们只使用纯文本UTF8内容和PDF文件。
uniqboundary
应该替换为某种独特的字符串$fileType
是您文件的MIME类型这里是代码:
$headers = 'MIME-Version: 1.0'."\r\n"
.'Content-Type: multipart/related; boundary="--uniqboundary"'."\r\n";
$body = '--uniqboundary."\r\n".
.'Content-Type: text/plain; charset=utf-8'."\r\n"
.'Content-Transfer-Encoding: 8bit'."\r\n\r\n"
.$text
.'--uniqboundary'."\r\n"
.'Content-Type: '.$fileType.'; name="'.basename($filename).'"'."\r\n"
.'Content-Transfer-Encoding: base64'."\r\n"
.'Content-Disposition: attachment; filename="'.basename($filename).'"'."\r\n\r\n";
$lineSize = filesize($filename) + 1;
$f = fopen($filename, 'r');
$chunks[] = chunk_split(base64_encode(fread($f, $lineSize)));
fclose($f);
$body .= implode("\r\n", $chunks)
.'--uniqboundary--'."\r\n";
mail($to, $subject, $body, $headers);
它应该有用。
答案 1 :(得分:0)
phpmailer是一个很好的选择,但需要一个smtp帐户来实现它