Home >Backend Development >PHP Tutorial >phpmailer 发送图片问题,提示发送成功,但邮件里图片不显示

phpmailer 发送图片问题,提示发送成功,但邮件里图片不显示

WBOY
WBOYOriginal
2016-06-23 13:45:342851browse

如题,body格式是HTML,我自己做了个编辑页面,在编辑页面里图片可以显示,不过图片是在内网的服务器中,是和路径有关系么


回复讨论(解决方案)

你看下路径不就知道了。

图片是连接?
内网(或本地)图片要当做附件吧

你看下路径不就知道了。


路径是图片在内网服务器中的路径,在我自己的编辑页面可以正常显示

接受邮件之后就显示不出来


用phpmailer发送图片是只要图片路径就行么?原理是什么啊?

图片是连接?
内网(或本地)图片要当做附件吧



图片确实是链接,因为是从数据库中查到的。我是要把一篇文章通过邮件发送,文章中会有图片,需要都在内容中显示,不能发附件

你在邮件中看下路径是什么?

你在邮件中看下路径是什么?



phpmailer 发送图片问题,提示发送成功,但邮件里图片不显示

邮件中的路径就是从数据库中取出的图片的路径,图片是放在内网服务器上的,如果在内网环境下是可以查看的。

我现在就想知道phpmailer发送邮件的原理是什么,不应该是只要一个链接就能发送图片吧

/js/ueditor1_3_5-gbk-php/php/upload/84301406165833.jpg 

你这路径不对吧,缺少域名吧? 你的图片在内网,外网引用图片行吗? 

/js/ueditor1_3_5-gbk-php/php/upload/84301406165833.jpg 

你这路径不对吧,缺少域名吧? 你的图片在内网,外网引用图片行吗? 



所以说我也纠结这个问题啊,如果phpmailer发送图片的功能只是发送phpmailer 发送图片问题,提示发送成功,但邮件里图片不显示标签加链接的话,内网中或者本地的图片不就不能显示了么,那这个发送图片还有什么用啊

发送本地图片用 AddEmbeddedImage 方法,例

$id = 1;$mail->AddEmbeddedImage('03.gif', $id, 'attachment', 'base64', 'image/gif');$body .= '<img  src="cid:'.$id.'"   style="max-width:90%" / alt="phpmailer 发送图片问题,提示发送成功,但邮件里图片不显示" >';
在邮件正文里将产生
<img  src="http://twebmail.mail.163.com/js6/s?func=mbox:getMessageData&sid=WDRWkXHcLWMWDYoYssccJDASHzdXUvmz&mid=463:xtbBzwnaLFD+iXy1QAAAse&part=2"   style="max-width:90%" alt="phpmailer 发送图片问题,提示发送成功,但邮件里图片不显示" >
这样的代码
一个一个手工做,实在太麻烦
所以你应该写一个方法,将 $body 中的本地图片匹配出来,逐个处理

内网中的图片该如何处理,没有内网无法测试
你可参考一下这个  http://www.oschina.net/code/snippet_54100_2855

请问楼主还在吗?也有同样的问题,想请教一下

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn