PHP Отправить в Outlook PDF-файл

я использую fpdf для создания PDF с PHP. все в порядке. но я хочу отправить PDF-файл в Outlook.

я использую $pdf->Output('file.pdf','D');

это работает. Я хочу прикрепить этот файл к Microsoft Outlook.

Как я могу это?

3

Решение

Что-то, что вы можете сделать, это сохранить файл во временную папку на сервере, а затем использовать что-то вроде PHPMailer прикрепить этот сохраненный файл к электронной почте. PHPMailer намного проще в использовании для вложений, чем встроенный в PHP mail функция.

Вы можете временно сохранить PDF-файл несколькими способами. Вот один из них:

$tempfilename = time().'.pdf';
$pdf->Output($tempfilename,'F');

Затем в PHPMailer вы можете прикрепить его так:

$mail->addAttachment($tempfilename);

И тогда, когда вы закончите, вы можете удалить временный файл с сервера.

unlink($tempfilename);

Если PHPMailer по какой-либо причине невозможно использовать в вашей ситуации, вы можете использовать встроенный PHP mail функция. Если вы работаете с новым файлом или небольшим файлом, где стоимость добавления PHPMailer относительно невелика, сделайте это, если сможете. В противном случае вы можете попробовать добавить такой код в ваш $headers, Адаптировано из ответа об использовании mail отправлять вложения:

//  Generate a random hash to send mixed content
$sep = md5(time());

//  End of line
$eol = PHP_EOL;

//  Content of file
$content = file_get_contents($tempfilename);
$content = chunk_split(base64_encode($content));

//  Add attachment to headers
$headers .= "--" . $sep . $eol;
$headers .= "Content-Type: application/octet-stream; name=\"" . $tempfilename . "\"" . $eol;
$headers .= "Content-Transfer-Encoding: base64" . $eol;
$headers .= "Content-Disposition: attachment" . $eol . $eol;
$headers .= $content . $eol . $eol;
$headers .= "--" . $sep . "--";
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]