MailMerge 主横幅

Microsoft Word 邮件合并是一项出色的功能,它使用户能够将信件转换为读起来像个人信件的文档。与准备单封信件以向许多人传达一组信息的过程相比,邮件合并节省了时间和精力,可以生成带有标签或信封的群发邮件,并且您可以发送带有自定义详细信息的统一消息。邮件合并的其他好处包括

  • 一旦设置了合并,我们就可以快速生成数千封信件。
  • 校对一封信比校对数千封单独的信件要容易得多。
  • 可以向符合特定标准的人发送信件。
  • 保存并重复使用标准信件。
  • 个性化信件。
  • 相同的数据源并可重复使用–降低了错误的风险。

考虑到此功能的重要性,Aspose.Words Cloud 完美支持邮件合并功能。它还允许您根据收件人的姓名个性化信件。数据源可以是与文档相关的列表、电子表格或数据库。在这篇博文中,我们将讨论使用 PHP 语言用数据填充邮件合并或胡须模板的要点。

使用模板进行邮件合并

为了使用 MailMerge 功能,我们需要使用 Word 模板文档和数据文件。这是 ExecuteMailMergeOnline 的两个输入参数

cRUL 命令

curl -X PUT "https://api.aspose.cloud/v4.0/words/MailMerge?withRegions=false&documentFileName=template" -H  "accept: application/octet-stream" -H  "Authorization: Bearer <JWT Token>" -H  "Content-Type: multipart/form-data" -H  "x-aspose-client: Containerize.Swagger" -d {"Template":{},"Data":{}}

请求 URL

https://api.aspose.cloud/v4.0/words/MailMerge?withRegions=false&documentFileName=template

PHP

<?php 

    include(dirname(__DIR__).'\CommonUtils.php');
    use Aspose\Words\WordsApi;
    use Aspose\Words\Model\Requests;

    try {
        // 创建 WordsApi 实例
        $wordsApi = new WordsApi(CommonUtils::$AppSid, CommonUtils::$AppKey, CommonUtils::$ApiBaseUrl);

        $fileName = "SampleMailMergeTemplate.docx";
        $fileData = realpath(__DIR__ . '/../..').'\resources\\' . $fileName;
        $destName = "Out_TestMailMergeWithImages.docx";
        $data = realpath(__DIR__ . '/../..').'\resources\SampleMailMergeTemplateData.txt';

        // 将文档上传至云存储
        $wordsApi->uploadFile(new Requests\UploadFileRequest(realpath(__DIR__ . '/../..').'\resources\\' . $fileName, "", CommonUtils::$MyStorage));

        // 创建请求并执行 api 方法
        $request = new Requests\ExecuteMailMergeOnlineRequest($fileData, $data, null, null, null);
        $result = $wordsApi->executeMailMergeOnline($request);
        print_r($result);
    
    } catch (Exception $e) {
        echo "Something went wrong: ", $e->getMessage(), "\n";
    }
?>
MailMerge 结果文件

图 1:MailMerge 操作的预览。

在邮件合并期间插入 HTML

除了简单的内容外,该 API 还提供在邮件合并字段内插入 HTML 的功能。ExecuteMailMerge API 可让您在邮件合并字段内插入 HTML。按照以下示例,我们将在模板文件中插入 HTML 表和图像,并将生成的文件保存到云存储。

cURL 命令

curl -X PUT "https://api.aspose.cloud/v4.0/words/template.doc/MailMerge?withRegions=false&mailMergeDataFile=TestExecuteMailMergeData%20%281%29.txt&useWholeParagraphAsRegion=true" -H  "accept: application/json" -H  "Authorization: Bearer <JWT Token>" -H  "Content-Type: multipart/form-data" -H  "x-aspose-client: Containerize.Swagger" -d {"data":""}

请求 URL

https://api.aspose.cloud/v4.0/words/template.doc/MailMerge?withRegions=false&mailMergeDataFile=TestExecuteMailMergeData%20%281%29.txt&useWholeParagraphAsRegion=true

PHP

<?php 

    include(dirname(__DIR__).'\CommonUtils.php');
    use Aspose\Words\WordsApi;
    use Aspose\Words\Model\Requests;

    try {
        // 创建 WordsApi 实例
        $wordsApi = new WordsApi(CommonUtils::$AppSid, CommonUtils::$AppKey, CommonUtils::$ApiBaseUrl);

        $fileName = "template.doc";
        $destName = "Out_PostDocumentExecuteMailMergeWithHTMLData.docx";
        $data = file_get_contents(realpath(__DIR__ . '/../..').'\resources\TestPostDocumentExecuteMailMerge.txt');

        // 将文档上传至云存储
        $wordsApi->uploadFile(new Requests\UploadFileRequest(realpath(__DIR__ . '/../..').'\resources\\' . $fileName, "", CommonUtils::$MyStorage));

        // 创建请求并执行 api 方法
        $request = new Requests\ExecuteMailMergeRequest($fileName, $data, null, CommonUtils::$MyStorage, null, null, null, null, null, false, $destName);
        $result = $wordsApi->executeMailMerge($request);
        print_r($result);
    
    } catch (Exception $e) {
        echo "Something went wrong: ", $e->getMessage(), "\n";
    }
?>
HTML 插入后的邮件合并预览

图 2:- 插入 HTML 后的邮件合并。

结论

在本文中,我们讨论了如何使用 PHP Cloud SDK 执行邮件合并的详细信息。我们专门探讨了使用模板执行邮件合并以及如何在邮件合并期间插入 HTML 相关的详细信息。请注意,Aspose.Words Cloud SDK for PHP 是在 MIT 许可下开发的,其完整源代码可通过 GitHub 下载。如果您在使用 SDK 时遇到任何问题,请随时通过免费的 产品支持论坛 与我们联系。

相关文章

我们还建议您访问以下链接以了解更多信息: