javax.mail을 사용하여 BCC 수신자에게 전자 메일을 보내십시오
-
21-12-2019 - |
문제
코드의 아래 부분을 가지고 있지만 BCC 수신자를 SendMessage에 추가하는 방법을 알아낼 수 없습니다.
아이디어가 있습니까?
MimeMessage message = new MimeMessage(mailSession);
String today = new SimpleDateFormat("yyyy-MM-dd").format(Calendar
.getInstance().getTime());
message.setSubject("This is my email for:" + today);
message.setFrom(new InternetAddress("thesender@gmail.com"));
String []to = new String []{"therecipient1@gmail.com"};
String []bcc = new String[]{"therecipient2@gmail.com","therecipient3@gmail.com","therecipient4@gmail.com"};
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to[0]));
message.addRecipient(Message.RecipientType.BCC, new InternetAddress(bcc[0]));
message.addRecipient(Message.RecipientType.BCC, new InternetAddress(bcc[1]));
message.addRecipient(Message.RecipientType.BCC, new InternetAddress(bcc[2]));
String body = theBody;
message.setContent(body,"text/html");
transport.connect();
transport.sendMessage(message,message.getRecipients(Message.RecipientType.TO));
transport.close();
. 해결책
다음 메소드를 사용하여 여러 재활용을 추가해야합니다
public void addRecipients(Message.RecipientType type, Address[] addresses)
.
또한 다음 줄 대신
transport.sendMessage(message,message.getRecipients(Message.RecipientType.TO));
.
이
를 사용해보십시오transport.sendMessage(message,message.getAllRecipients());
. 다른 팁
String [] to=new String[3];
to[0]="adfsdf@gmail.com";
to[1]="dffff@gmail.com";
to[2]="ddddddddddsssssss@outlook.com";
InternetAddress[] toAddress = new InternetAddress[to.length];
// To get the array of addresses
for( int i = 0; i < to.length; i++ ) {
toAddress[i] = new InternetAddress(to[i]);
}
for( int i = 0; i < toAddress.length; i++) {
message.addRecipient(Message.RecipientType.TO, toAddress[i]);
}
message.setSubject("Testing ");
message.setText("dddd,"
+ "\n\n No spam to my email, please!");
Transport.send(message);
. 제휴하지 않습니다 StackOverflow