Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用发送网格发送电子邮件附件_Java_Spring Boot_Sendgrid - Fatal编程技术网

Java 使用发送网格发送电子邮件附件

Java 使用发送网格发送电子邮件附件,java,spring-boot,sendgrid,Java,Spring Boot,Sendgrid,我正在使用sendgrid:4.1.2发送邮件。我把图片附在我的邮件里。当我收到邮件时,附加的图像没有打开,图像查看器说-遇到文件过早结束。我正在使用以下代码将文件附加到邮件对象中: /*Prepare the email to be sent*/ Mail mail = new Mail(); mail.addPersonalization(personalization); mail.setFrom(from); mail.s

我正在使用sendgrid:4.1.2发送邮件。我把图片附在我的邮件里。当我收到邮件时,附加的图像没有打开,图像查看器说-遇到文件过早结束。我正在使用以下代码将文件附加到邮件对象中:

 /*Prepare the email to be sent*/
        Mail mail = new Mail();
        mail.addPersonalization(personalization);
        mail.setFrom(from);
        mail.setSubject(subject);

/*Prepare the attachments for the mail */
        if (attachments != null && attachments.size() > 0) {
            for (EmailAttachmentDo emailAttachmentDo : attachments) {
                Attachments attachment = new Attachments();
                attachment.setContent(new 
   String(Base64.getEncoder().encode(emailAttachmentDo.getContent())));
                attachment.setType("IMAGE");
                attachment.setFilename("image-name.png");
                attachment.setDisposition("attachment");
                attachment.setContentId(emailAttachmentDo.getContentId());
                mail.addAttachments(attachment);
            }
        }

/*Make a send email request*/
        Request request = new Request();
        request.setMethod(Method.POST);
        request.setEndpoint("mail/send");
        request.setBody(mail.build());

        Response response = sendGrid.api(request)
注意:将附加的图像内容编码为Base64字符串后,我得到以下结果:

(vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv6)vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv73++vLuh4L2siP73一个单词,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,一个,VHX3/H/2uU4nFoP1sEmGN+1klvLiVE7hzKoxC4.研究结果表明,一个新的研究项目是一个新的研究领域。2.研究结果是一个新的研究领域,一个新的研究领域,一个新的研究领域,一个新的研究领域,一个新的研究领域,一个新的研究领域,一个新的研究领域,一个新的研究领域,一个新的研究领域,一个新的研究领域,一个新的研究领域,一个新的研究领域,一个新的研究领域,一个新的研究领域,一个新的一个新的研究领域,新的研究,一个新的一个新的一个新的研究领域,新的研究,新的中国中国政府的一个新的研究成果,新的一个新的研究领域,新的一个新的一个新的一个中国政府在一个新的研究领域,或者新的一个新的一个新的研究项目是在该领域中,该领域的一个新的一个新的一个新的一个新的研究在M5YB9AOWII2YWMQL7LVQLJ6BSZ/0RA2.研究人员(tbf)对该文进行了研究。4.研究人员(4)对该文进行了研究。4)对该文进行了研究。4)对该文进行了研究。4)对该文的研究。4)对该文进行了研究。2)对该文的研究。2)对该文的研究。2)对该文的研究。2)对该文的研究。2(2)对该文的研究,2)对该文的研究,4(4(4)对该文进行了研究。2)对该文的研究,2)对该文的研究,4)对该文的研究,4)对该文文的研究,4(4(4(4)对该文(4)对该文(4)对该文(4)对该文进行了一文文的研究,4)对该文的研究,4(4(4)对该文文的研究,4)是一文的研究,4(4(4(4)是一个准准准准L0YKM6EY35/CRGQ1tGtLUZepfU6wlfvrnhpDbaNu24.他们认为,他们的研究是一个非常有价值的研究。他们的研究是一个非常有价值的研究。他们的研究是一个有价值的研究。他们的研究是一个有价值的研究。他们的研究是一个有价值的研究是一个有价值的研究。他们的研究是一个有价值的研究是一个有价值的研究。他们的研究是一个有价值的研究。他们的研究是一个有价值的研究。他们的研究是一个有价值的研究。他们的研究是一个研究。他们的研究,他们的研究是一个研究,他们的一个研究,他们的一个研究,他们的一个研究,他们的研究,他们的8 8 8 8。他们的研究是他们的研究是他们的8 8。8 8。他们的研究是一个团队或者或者是一个团队,或者是一个团队,或者是一个团队,或者是一个团队,或者是一个团队,或者是一个非非非某某某某某某某某某某某QHA+yPCLZ1dEW5ddim6K85tK2.这是一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的8个中国的8个中国的8个中国的8个中国的8个中国的8个中国的8个中国的8个中国的8个中国的8个中国的8个中国的8个中国的8个中国的8个中国的8个中国的8个中国的8个中国的8个中国的8个中国的8个中国的8 DDSN8MOHBZRAXLI+pRDtTT/BD9HGFmsAr6dcwy2.2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 Ndaju3Mp6WvPan3WFK2.中国大陆9年非QQQQQQQQQQQQQWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ6 CVCVCVCV6 CVCVCVCVCV6/CVM/CVM/CVM/VVVVJMSWKXSSAL9HM2LX5WDZ3SJFGGGGXRBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVGGGGGGGGGGGGGGWWWWWWWWWWWGGGGGGGGGGGGVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV6PYN9Fuct75GHCHW8+24.这个词的意思意思是。4)Q(4)Q(4)Q(4)Q(4)Q(4)Q(4)Q(4)Q(4)Q(4)Q(4)Q(4)Q(4)Q(4)Q(4)Q(4)Q(4)Q(4)Q(4)Q)Q(4)Q(4)Q(8)Q)Q(8)Q(8)Q)Q(8)Q(8)Q(8)Q)Q(8)Q)Q(8)Q)Q(8)Q(8)Q(8)Q)Q(8)Q)Q(8)Q(8)Q)Q(8)Q(8)Q)Q(8)Q)Q)Q(8)Q)Q)Q(8)Q(8)Q)Q(8)Q)Q(8)Q)Q(8)Q)Q)Q(8)Q(8)Q)Q)Q(8)Q)Q)5DAAR9DE/AFZCJ3FNGWWDxOW2.中国的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的一个城市的城市的一个城市的一个城市的一个城市的城市的一个城市的一个城市的一个城市的城市的一个城市的城市的一个城市的一个城市的一个城市的城市的一个城市。2个城市的城市的城市的城市的一个城市的城市的一个城市的城市。2个城市的城市3kedcjzwqsy6.中国政府对中国政府的一些研究成果进行了研究。6.中国政府对中国政府的一些研究成果进行了研究。6.中国政府对中国政府的一些研究成果(SXVVVVVVVVVXXXXXZZHHHHXGGBBBBBBBBBBBBB8 8 8中国政府对中国政府提出的一份研究成果进行了研究,对中国政府对中国政府对中国政府对中国政府提出的一个B6 6级B6级中国政府对中国政府的B8级中国政府对中国政府的B8级中国政府对B8级8级8级中国政府对B8级8级中国政府的B8 8级中国8级中国8级中国8级中国8级中国政府对中国8级中国政府对中国8级中国政府对中国8 8 8级中国8级8级中国8 8 8级中国8级中国8级中国8级中国8级中国8级中国8级中国8级中国8级中国8级中国8级中国8级中国8 PZP0E7CDAPR3SC02QAH1.在这一研究中,我们使用了一种新的研究方法,一种新的研究方法,一种新的研究方法,一种新的研究方法,一种新的研究方法,一种新的研究方法,一种新的研究方法,一种新的研究方法,一种新的研究,一种新的研究方法,一种新的研究方法,一种新的研究方法,一种新的研究,一种新的研究方法,一种新的非非非非非政府的研究,一种非非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非IcczG2kHSmQ5lun8TYpSxF6wh1tAmRi/ZhMmBwehxpyPAWcuFQE5xVKgLsOkmqK0MsiyCxTeMW92UJiPWKreQPW89D+hFhqByL0qvl +4.目前,中国政府正在使用一种新的研究方法来作为一种新的研究成果。8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9D3XADZDRCHFE0958A/6F+V31igAswnZJx92)2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 EKY58GKYBxOZ3A+u+fuAvzr+ACdlxSvNjMejaz3Uwg27DoxIsxa0gvU+T0YJ8OZAMHDXLRS7MHFCIK4KYHLX1WAHU650LGU9GYKLZ99B0G+ICLBG0S1LMWCD8T3XCQEEVE5MGURDAYPH3/kcJNohWTQo+/LSZWU90K6QTXIZ43UHM+OxrynwUOxUOxUOxWKQC+SlanwwWnjaunka40/9FVHFWWT0DNKKKKKKKKKKKKKKWZWWWZU0HOQ6SQ91XRVK1V+7SJUKJ0KJ0KJ0KJ0KJ0KJ0KJ0KJ0KJ0KJ0KJ0KJ0KJ0KJ0KJ0KJ0KKJ0KKK=

解决此问题的诀窍是使用commons apache r及其包中的EncodeAString方法对附件进行编码

org.apache.commons.codec.binary.Base64


甚至内容长度也被重新计算为0,以响应它的工作。

@Arun我尝试了这个方法,得到了相同的结果,我认为编码没有任何问题。@mohammadhashim因为您设置了错误的setType,我也提到了setTypeimage/png;试着改变这个。因为从我这一方面来说,这是非常有效的。正如我在早期的项目中使用的一样。是的,我错过了类型,现在我将类型设置为image/*并且它正在工作。谢谢。@mohammadhashim请将其标记为正确答案,以便对其他面临这类问题的人有用,同时感谢已经回答并向您提供了最佳经济条件的人也是件好事。
Attachments attachments3 = new Attachments();
Base64 x = new Base64();
String imageDataString = x.encodeAsString(fileData);
attachments3.setContent(imageDataString);
attachments3.setType("image/png");//"application/pdf"
attachments3.setFilename("x.png");
attachments3.setDisposition("attachment");
attachments3.setContentId("Banner");
mail.addAttachments(attachments3);