代码之家  ›  专栏  ›  技术社区  ›  neubert

PHPMailer附件显示为base64编码文本

  •  0
  • neubert  · 技术社区  · 6 年前

    下面是我的PHP代码:

    $mail = new PHPMailer();
    $mail->AddAddress('neubert@neubert.com');
    $mail->SetFrom('neubert@neubert.com');
    $mail->Subject = 'Attachment Test ' . mt_rand(1, 10000000);
    $mail->Body = 'See attached!';
    
    $mail->AddStringAttachment('hello, world!', 'test.txt', 'base64', 'application/csv');
    $mail->Send();
    

    以下是我的Gmail收件箱中的内容:

    enter image description here

    enter image description here

    以下是我在Gmail中点击“Show original”时看到的内容:

    Content-Type: multipart/alternative; boundary="_av-HS21mQOZlMv59VDZAuEczg"
    
    --_av-HS21mQOZlMv59VDZAuEczg
    Content-Type: text/plain; charset=utf-8
    Content-Transfer-Encoding: 7bit
    
    This is a multi-part message in MIME format.
    --b1_sXvhvmroccaUM1u8XDL1OMveVh8ZiFheK8opqb2i3o8 Content-Type: text/plain;
    charset=us-ascii See attached!
    --b1_sXvhvmroccaUM1u8XDL1OMveVh8ZiFheK8opqb2i3o8 Content-Type:
    application/csv; name="test.txt" Content-Transfer-Encoding: base64
    Content-Disposition: attachment; filename=test.txt aGVsbG8sIHdvcmxkIQ==
    --b1_sXvhvmroccaUM1u8XDL1OMveVh8ZiFheK8opqb2i3o8--
    --_av-HS21mQOZlMv59VDZAuEczg
    Content-Type: text/html; charset=utf-8
    Content-Transfer-Encoding: 7bit
    
    This is a multi-part message in MIME format.
    --b1_sXvhvmroccaUM1u8XDL1OMveVh8ZiFheK8opqb2i3o8
    Content-Type: text/plain; charset=us-ascii
    
    See attached!
    
    --b1_sXvhvmroccaUM1u8XDL1OMveVh8ZiFheK8opqb2i3o8
    Content-Type: application/csv; name="test.txt"
    Content-Transfer-Encoding: base64
    Content-Disposition: attachment; filename=test.txt
    
    aGVsbG8sIHdvcmxkIQ==
    
    --b1_sXvhvmroccaUM1u8XDL1OMveVh8ZiFheK8opqb2i3o8--<img src="https://mandrillapp.com/track/open.php?u=30776766&id=8ee95f6ae4b345d2a87af6f4ea043ca2" height="1" width="1">
    --_av-HS21mQOZlMv59VDZAuEczg--
    

    根据编写器.lock我使用的是v6.0.5。

    有什么想法吗?

    2 回复  |  直到 6 年前
        1
  •  1
  •   Synchro    6 年前

    我知道是什么导致了这一切-PHPMailer的哑剧界限 从…开始 b1 , b2 , b3 _av ,所以我怀疑你有一些反病毒软件干扰你的流量。

        2
  •  0
  •   Rinsad Ahmed    6 年前

    将mime类型(最后一个参数)设为“text/csv”,并将文件名更改为测试.csv. 还提供逗号分隔的字符串作为第一个参数,以使所有输入参数都有效。