如何将使用模板处理器制作的 Word (docx) 文件附加到要发送的电子邮件中
How do I attach a Word (docx) file I made using a template processor into an email I'm sending
我正在使用这个功能发送邮件,而且效果很好:
mail('emailhere','subjecthere','contenthere');
我也在使用这段代码创建一个word文件并提供给用户下载:
// I use my templace that's with my files :
$templateProcessor = new TemplateProcessor('Template.docx');
// I fill the template values from an sql query :
$templateProcessor->setValue('titre', $options['titre']);
$templateProcessor->setValue('source', $options['source']);
$templateProcessor->setValue('auteur', $options['auteur']);
$templateProcessor->setValue('date_pub', $options['date_pub']);
$templateProcessor->setValue('contenu', $options['contenu']);
// I give the user the file (I don't fully understand how this works but it does)
header("Content-Disposition: attachment; filename=$title.docx");
$templateProcessor->saveAs('php://output');
我想做的是,我想从该模板创建一个 word 文件,将其放入该邮件并发送
对于我尝试的代码不足,我深表歉意,但我真的不知道从哪里开始。
我被推荐使用这个:
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
$email = new PHPMailer();
$email->SetFrom('you@example.com', 'Your Name'); //Name is optional
$email->Subject = 'Message Subject';
$email->Body = $bodytext;
$email->AddAddress( 'destinationaddress@example.com' );
$file_to_attach = 'PATH_OF_YOUR_FILE_HERE';
$email->AddAttachment( $file_to_attach , 'NameOfFile.pdf' );
return $email->Send();
但是我不知道文件的路径是什么?
添加以下代码行:
// Create a temporary file to store the template.
$temp_file = tempnam(sys_get_temp_dir(), 'PHPTemplate');
// Save the template
$templateProcessor->saveAs($temp_file);
// Attach the temporary file (template) to the email
$mailer->addAttachment($temp_file, 'nameofile.docx');
// Send Email
return $email->Send();
我正在使用这个功能发送邮件,而且效果很好:
mail('emailhere','subjecthere','contenthere');
我也在使用这段代码创建一个word文件并提供给用户下载:
// I use my templace that's with my files :
$templateProcessor = new TemplateProcessor('Template.docx');
// I fill the template values from an sql query :
$templateProcessor->setValue('titre', $options['titre']);
$templateProcessor->setValue('source', $options['source']);
$templateProcessor->setValue('auteur', $options['auteur']);
$templateProcessor->setValue('date_pub', $options['date_pub']);
$templateProcessor->setValue('contenu', $options['contenu']);
// I give the user the file (I don't fully understand how this works but it does)
header("Content-Disposition: attachment; filename=$title.docx");
$templateProcessor->saveAs('php://output');
我想做的是,我想从该模板创建一个 word 文件,将其放入该邮件并发送
对于我尝试的代码不足,我深表歉意,但我真的不知道从哪里开始。
我被推荐使用这个:
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
$email = new PHPMailer();
$email->SetFrom('you@example.com', 'Your Name'); //Name is optional
$email->Subject = 'Message Subject';
$email->Body = $bodytext;
$email->AddAddress( 'destinationaddress@example.com' );
$file_to_attach = 'PATH_OF_YOUR_FILE_HERE';
$email->AddAttachment( $file_to_attach , 'NameOfFile.pdf' );
return $email->Send();
但是我不知道文件的路径是什么?
添加以下代码行:
// Create a temporary file to store the template.
$temp_file = tempnam(sys_get_temp_dir(), 'PHPTemplate');
// Save the template
$templateProcessor->saveAs($temp_file);
// Attach the temporary file (template) to the email
$mailer->addAttachment($temp_file, 'nameofile.docx');
// Send Email
return $email->Send();