JavaMail mister attach i spam filtre
Hej med jer,Har et lidt mysisk problem som jeg håber i kunne hjælpe med:
Har lavet en forholdsvis simpel javamail metode sendMailWithAttach (se kode længere nede) som sender en mail og en attached PDF.
Mailen består af plain text, html, et billed samt pdf'en.
Mit problem består i at ca. 10-20% af modtagene får fjernet pdf'en når de modtager mailen. Sandsynligvis af antivirus programmer eller spam filtre.
Hvis jeg efterfølgende sender pdf'en til modtageren via f.eks outlook, så er der selvfølgelig ikke noget problem og det er via samme mailserver ergo må problemet ligge i mit program.
Hvad gør outlook som jeg ikke gør ?
Jeg forsøger at finde ud af hvilken type mailservere der afviser pdf'en men indtil da vil jeg påskønne alt hjælp.
mvh
Anders
Min kode er :
public void sendMailWithAttach(String host,
String from,
String to,
String subject,
String textbody,
String fileAttachment)
throws Exception
{
Properties props = new Properties();
props.put("mail.smtp.host", host);
Session session = Session.getDefaultInstance(props, null);
Message message = new MimeMessage(session);
//headers
message.setSubject(subject);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
//add related mutip-part for root
MimeMultipart multipartRoot = new MimeMultipart("related");
MimeBodyPart contentRoot = new MimeBodyPart();
MimeMultipart multipartAlt = new MimeMultipart("alternative");
//alternative message
BodyPart messageBodyPart;
messageBodyPart = new MimeBodyPart();
String txt = textbody;
messageBodyPart.setContent(txt,"text/plain");
multipartAlt.addBodyPart(messageBodyPart);
messageBodyPart = new MimeBodyPart();
String htmlText = "<img src=\"cid:logo\"><br><br><br><font face=verdana color=black>"+ textbody +"</font>";
messageBodyPart.setContent(htmlText,"text/html");
multipartAlt.addBodyPart(messageBodyPart);
//Hierarchy
contentRoot.setContent(multipartAlt);
multipartRoot.addBodyPart(contentRoot);
//add a part for the image
messageBodyPart = new MimeBodyPart();
DataSource fds = new FileDataSource("d:/images/logo.jpg");
messageBodyPart.setDataHandler(new DataHandler(fds));
messageBodyPart.setHeader("Content-ID", "<logo>");
messageBodyPart.setFileName(fds.getName());
multipartRoot.addBodyPart(messageBodyPart);
//attach a pdf
messageBodyPart = new MimeBodyPart();
fds = new FileDataSource(fileAttachment);
messageBodyPart.setDataHandler(new DataHandler(fds));
messageBodyPart.setFileName(fds.getName());
multipartRoot.addBodyPart(messageBodyPart);
//add multipart to the message
message.setContent(multipartRoot);
//send message
message.setSentDate(new Date());
Transport.send(message);
}