0x255044462D312E330A25AAABAC
当我发送bytes
(返回getPDFByteStream()
方法)时,它会像原始文件一样在电子邮件中发送附件。但当我从数据库中获取并发送时,它会发送损坏的文件。
更新:
@Lob
@Column(name = "ATTACHED_FILE")
private byte[] attachedFile;
//getter()/setter();
try {
MimeBodyPart textBodyPart = new MimeBodyPart();
textBodyPart.setText(content);
//byte[] bytes = getPDFByteStream(); //Returns byte[] reading local drive file
**UPDATE:**
//bytes[] bytes=entity.getAttachedFile(); // It gets value from entity.
/**
** It is getting like "[B@7ffd10fa" format but m storing on database like "0x255044462D312E330A25" format
**/
String string="0x255044462D312E330A25";
byte[] bytes =string.getBytes(Charset.forName("UTF-8"));
System.out.println("bytes " + bytes.toString());
DataSource dataSource = new ByteArrayDataSource(bytes, "application/pdf");
MimeBodyPart pdfBodyPart = new MimeBodyPart();
pdfBodyPart.setDataHandler(new DataHandler(dataSource));
pdfBodyPart.setFileName("bankAdminReport.pdf");
MimeMultipart mimeMultipart = new MimeMultipart();
mimeMultipart.addBodyPart(textBodyPart);
mimeMultipart.addBodyPart(pdfBodyPart);
InternetAddress iaSender = new InternetAddress(sender);
InternetAddress iaRecipient = new InternetAddress(recipient);
MimeMessage mimeMessage = new MimeMessage(session);
mimeMessage.setSender(iaSender);
mimeMessage.setSubject(subject);
mimeMessage.setRecipient(Message.RecipientType.TO, iaRecipient);
mimeMessage.setContent(mimeMultipart);
Transport.send(mimeMessage);
} catch (Exception ex) {
ex.printStackTrace();
}
public static byte[] getPDFByteStream() throws IOException {
File file = new File("C:\\pdf\\bankAdminReport.pdf");
byte[] b = new byte[(int) file.length()];
try {
FileInputStream fileInputStream = new FileInputStream(file);
fileInputStream.read(b);
} catch (FileNotFoundException e) {
System.out.println("File Not Found.");
e.printStackTrace();
} catch (IOException e1) {
System.out.println("Error Reading The File.");
e1.printStackTrace();
}
return b;
}
主要的问题是,当我从本地驱动器发送文件读取,它发送完美。但如果我发送的数据库获取或任何本地变量文件损坏。
如果你对问题有任何疑问,请在下面评论。多谢了。
这个
byte[] bytes="0x255044462D312E330A25AAABAC".getBytes();
也将对前导的“0x"进行编码。此外,您似乎试图将十六进制值转换为字节数组,而此方法将字符值转换为字节。
我相信你要找的是
byte[] bytes = java.xml.bind.DatatypeConverter.parseHexBinary("255044462D312E330A25AAABAC");
我正试图通过console/cron使用CakePHP 1.3电子邮件组件发送电子邮件。电子邮件被发送出去了 通过表单完成后,电子邮件将与附件一起成功发送。我已经尝试添加了$this- 我的代码如下: 所以,基本上我的问题是,当我通过控制台/cron运行外壳脚本时,我如何获得附件发送的电子邮件。 提前谢谢你。
问题内容: 我似乎找不到我编写的应该发送带有附件的电子邮件的php函数的问题。我已经为此苦苦挣扎了一段时间了。 编辑 问题是邮件的消息与文件混合在一起并作为附件发送。 问题答案: Artefacto让我更加关注输出,并且找到了解决方法:
问题内容: 我正在尝试在带有附件的codeigniter上发送电子邮件。 我总是成功收到电子邮件。但是,我从未收到带有附件的文件。以下是代码,非常感谢所有评论。 问题答案: $ this- >电子邮件-> attach() 使您可以发送附件。将文件路径/名称放在第一个参数中。注意:使用文件路径,而不是URL。对于多个附件,请多次使用该功能。例如:
我在使用我的公司交换服务器通过Javamail发送电子邮件时遇到了一些问题。我们有一个应用程序通过gmail服务器发送电子邮件没有任何问题,但对于Google策略的一些更改,我们希望使用公司服务器来完成这项工作。我确信会话属性中的问题,但我无法找到使其工作的方法 这是显示日志的错误 javax.mail.MessagingException:无法连接到SMTP主机:mail.company.com
尝试发送带有pdf附件的电子邮件,尝试使用swickmailer,但没有成功,此代码使用zip但不使用PDF:( 邮件被发送罚款,我得到的邮件:但附件是不存在的,在meial有所有的bas64编码在电子邮件像: onatatent-Type: Application/octet-stream; name="media.pdf"Content-transver-Encode: base 64 Con
问题内容: 是否有用于NodeJS的库,用于发送带有附件的邮件? 问题答案: 是的,这非常简单,我使用nodemailer: 然后阅读文件并发送电子邮件: