2014-07-24 152 views
0

我正在使用javax.mail發送一些電子郵件。 它工作正常,但它並沒有將消息發送到CC/BCCjava mail CC和BCC不工作

message.setRecipient(Message.RecipientType.TO, new InternetAddress("[email protected]")); 
message.setRecipient(Message.RecipientType.CC, new InternetAddress("[email protected]")); 

[email protected]正確臨危消息(它也表明了CC地址),但[email protected]好好嘗試一下接受她

這裏的完整代碼:

 // Get system properties 
     Properties props = System.getProperties(); 

     // Setup mail server 
     props.put("mail.smtp.host", "192.168.1.1"); 
     props.put("mail.transport.protocol", "smtp"); 
     props.put("mail.smtp.auth", "true"); 

     // Crea un authenticator (per mandare mail anche all'esterno del dominio) 
     Authenticator authenticator = new Interfaccia_CSR.SMTPAuthenticator(); 

     // Get session 
     Session session = Session.getInstance(props, authenticator); 

     // Define message 
     MimeMessage message = new MimeMessage(session); 
     message.setFrom(new InternetAddress("[email protected]")); 

     message.setRecipient(Message.RecipientType.TO, new InternetAddress("[email protected]")); 
     message.setRecipient(Message.RecipientType.CC, new InternetAddress("[email protected]")); 

     message.setSubject(oggetto); 

     // create the message part 
     MimeBodyPart messageBodyPart = new MimeBodyPart(); 

     //fill message 
     messageBodyPart.setText(testo); 

     Multipart multipart = new MimeMultipart(); 
     multipart.addBodyPart(messageBodyPart); 

     // Put parts in message 
     message.setContent(multipart); 

     // Send the message 
     Transport.send(message, message.getRecipients(Message.RecipientType.TO)); 

我到底做錯了什麼?

+0

這裏? Transport.send(message,message.getRecipients(Message.RecipientType.TO)); – Leo

回答

3
Transport.send(message, message.getRecipients(Message.RecipientType.TO)); 

你只是這種方式發送給收件人在To:領域。

參見Transport.send(Message) and Transport.send(Message, Address[])之間的差:

  • send(Message msg):[...]該消息將被髮送到的消息中指定的所有收件人地址(如從消息 方法getAllRecipients返回),使用適合於每個 地址的消息傳輸。

  • send(Message msg, Address[] addresses):[...]將消息發送到指定地址,忽略消息 本身中指定的任何收件人。

+0

該死的太容易了,我很盲目=)謝謝 – Maik

+0

@Maik:你有這個解決方案http://stackoverflow.com/questions/29392185/unable-to-read-bcc-field-of-sent-郵件功能於爪哇/ 29398710#29398710 – pan1490

4

嘗試只

Transport.send(message); 

代替