我试图使用javamail附加一个zip文件,并收到以下错误:
“com.sun.mail.smtp.SMTPSendFailedException:552-5.7.0此邮件被阻止,因为其内容具有潜力 552-5.7.0安全问题。请访问http://support.google.com/mail/bin/answe 552-5.7.0 r.py?answer=6590查看我们的邮件内容和附件内容 552 5.7.0指南。 vb7sm60966875pbc.13 - gsmtp“
附加doc或xls没有问题。我甚至认为附加一个zip文件与任何其他文件没什么不同。请告诉我这里的问题。
如果需要,我还提供了代码。
public class SendMail {
@Test
public static void sendFileEmail()
{
// Recipient's email ID needs to be mentioned.
String to = "*****@gmail.com";
// Sender's email ID needs to be mentioned
String from = "****@gmail.com";
// Get system properties
Properties properties = System.getProperties();
// Setup mail server
properties.put("mail.smtp.host", "smtp.gmail.com");
properties.put("mail.smtp.socketFactory.port", "465");
properties.put("mail.smtp.socketFactory.class",
"javax.net.ssl.SSLSocketFactory");
properties.put("mail.smtp.auth", "true");
properties.put("mail.smtp.port", "465");
properties.put("mail.debug", "false");
// Get the default Session object.
Session session = Session.getDefaultInstance(properties,
new javax.mail.Authenticator()
{
protected PasswordAuthentication getPasswordAuthentication()
{
return new PasswordAuthentication("*****@gmail.com","****");
}
});
try {
// Create a default MimeMessage object.
MimeMessage message = new MimeMessage(session);
// Set From: header field of the header.
message.setFrom(new InternetAddress(from));
// Set To: header field of the header.
message.addRecipient(Message.RecipientType.TO, new InternetAddress(
to));
// Set Subject: header field
message.setSubject("This is the Subject Line!");
// Create the message part
BodyPart messageBodyPart = new MimeBodyPart();
// Fill the message
messageBodyPart.setText("This is message body");
// Create a multipar message
Multipart multipart = new MimeMultipart();
// Set text message part
multipart.addBodyPart(messageBodyPart);
// Part two is attachment
messageBodyPart = new MimeBodyPart();
String filename = "XSLTReports.zip";
DataSource source = new FileDataSource(filename);
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(filename);
multipart.addBodyPart(messageBodyPart);
// Send the complete message parts
message.setContent(multipart);
// Send message
Transport.send(message);
System.out.println("Sent message successfully....");
} catch (MessagingException mex) {
mex.printStackTrace();
}
}
}
答案 0 :(得分:0)
我猜你没有为你发送的多部分附件设置MIME类型。尝试设置它并查看
ZIP文件的标准MIME类型是application / zip。
如果它不起作用,也可以尝试使用application / octet-stream
答案 1 :(得分:0)
我认为这个问题与zip文件的内容有关。我更改了zip文件并且工作正常
答案 2 :(得分:0)
请确保网络访问正常,问题似乎是网络访问权限 第一:如果没问题,尝试从您的机器ping到邮件服务器,它对您来说是可见的 第二:尝试发送简单邮件(主题/内容) 第三:尝试附加简单的doc(txt文件)