2014-07-24 157 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); 

代替