解决方案 »

  1.   

    路径是图片在内网服务器中的路径,在我自己的编辑页面可以正常显示接受邮件之后就显示不出来
    用phpmailer发送图片是只要图片路径就行么?原理是什么啊?
      

  2.   


    <img id="aimg_1187" class="zoom" width="600" initialized="true" outfunc="null" status="2" inpost="1" file="http://10.177.130.222:88/bbs/data/attachment/forum/201203/21/092944u6ucjwbqytnpeypr.jpg" zoomfile="http://10.177.130.222:88/bbs/data/attachment/forum/201203/21/092944u6ucjwbqytnpeypr.jpg" aid="1187" unselectable="true" src="/js/ueditor1_3_5-gbk-php/php/upload/84301406165833.jpg" alt="1.JPG" title="1.JPG">邮件中的路径就是从数据库中取出的图片的路径,图片是放在内网服务器上的,如果在内网环境下是可以查看的。我现在就想知道phpmailer发送邮件的原理是什么,不应该是只要一个链接就能发送图片吧
      

  3.   

    /js/ueditor1_3_5-gbk-php/php/upload/84301406165833.jpg 你这路径不对吧,缺少域名吧? 你的图片在内网,外网引用图片行吗? 
      

  4.   


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

  5.   

    发送本地图片用 AddEmbeddedImage 方法,例
    $id = 1;
    $mail->AddEmbeddedImage('03.gif', $id, 'attachment', 'base64', 'image/gif');
    $body .= '<img src="cid:'.$id.'" style="border: none;" />';
    在邮件正文里将产生<img src="http://twebmail.mail.163.com/js6/s?func=mbox:getMessageData&amp;sid=WDRWkXHcLWMWDYoYssccJDASHzdXUvmz&amp;mid=463:xtbBzwnaLFD+iXy1QAAAse&amp;part=2" style="border: none;">这样的代码
    一个一个手工做,实在太麻烦
    所以你应该写一个方法,将 $body 中的本地图片匹配出来,逐个处理内网中的图片该如何处理,没有内网无法测试
    你可参考一下这个 http://www.oschina.net/code/snippet_54100_2855