gpt4 book ai didi

wordpress - 使用wp_mail显示内嵌图像附件

转载 作者:行者123 更新时间:2023-12-03 09:45:02 24 4
gpt4 key购买 nike

我有个问题。
我想将图像附加到电子邮件中,并与其他一些php生成的内容一起内联显示。问题是我没有丝毫想法如何使用内联wp_mail用来附加的文件附件数组。
我的解决方案是将图像编码为base64,然后将它们放入HTML内联,如下所示:

<img alt="The Alt" src="data:image/png;base64,*etc*etc*etc" />
但是问题是Gmail/Outlook从图像中删除了src数据。所以它降落为
<img alt="The Alt" />
有什么线索可以修改(标题可以与base64一起使用)或如何使用附件将其内联吗?

最佳答案

wp_mail使用PHPMailer类。此类具有内联附件所需的所有功能。
要在wp_mail()发送电子邮件之前更改phpmailer对象,可以使用过滤器phpmailer_init

$body = '
Hello John,
checkout my new cool picture.
<img src="cid:my-cool-picture-uid" width="300" height="400">

Thanks, hope you like it ;)';

那是一个如何在电子邮件正文中插入图片的示例。
$file = '/path/to/file.jpg'; //phpmailer will load this file
$uid = 'my-cool-picture-uid'; //will map it to this UID
$name = 'file.jpg'; //this will be the file name for the attachment

global $phpmailer;
add_action( 'phpmailer_init', function(&$phpmailer)use($file,$uid,$name){
$phpmailer->SMTPKeepAlive = true;
$phpmailer->AddEmbeddedImage($file, $uid, $name);
});

//now just call wp_mail()
wp_mail('test@example.com','Hi John',$body);

就这样。

关于wordpress - 使用wp_mail显示内嵌图像附件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15646187/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com