Message[] messages = folder.getMessages(); for (int i = 0; i < messages.length; i++) { sendMail(messages[i]); // messages[i].setFlag(Flags.Flag.DELETED, true); } // folder.close(true); folder.close(false); store.close(); } catch (Exception e) { e.printStackTrace(); } } public static void sendMail(Message m) throws Exception { try { Properties props = System.getProperties(); props.put("mail.smtp.host", "XX.XX.XX.XX"); Session session = Session.getDefaultInstance(props, null); // Create the message to forward MimeMessage forward = new MimeMessage(session); // Fill in header forward.setSubject(m.getSubject()); forward.setFrom(m.getFrom()[0]); forward.addRecipient( Message.RecipientType.TO, new InternetAddress("[email protected]","周","GB2312")); InternetAddress[] oAddress = (InternetAddress[])m.getRecipients(Message.RecipientType.CC); if (oAddress != null){ for (int j=0;j<oAddress.length;j++){ forward.addRecipient( Message.RecipientType.CC, new InternetAddress(oAddress[j].getAddress(),oAddress[j].getPersonal())); } } // Create your new message part MimeBodyPart messageBodyPart = new MimeBodyPart(); // messageBodyPart.setText("Here you go with the original message:\n\n","iso-2022-jp"); // Create a multi-part to combine the parts Multipart multipart = new MimeMultipart(); // multipart.addBodyPart(messageBodyPart); // Create and fill part for the forwarded content messageBodyPart = new MimeBodyPart(); messageBodyPart.setDataHandler(m.getDataHandler()); // Add part to multi part multipart.addBodyPart(messageBodyPart); // Associate multi-part with message forward.setContent(multipart); // Send message Transport.send(forward); } catch (Exception e) { e.printStackTrace(); } } }
MimeMessage msg=new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
B把邮件转发给E时,把from的地址设置为A的不就可以了吗
* 作成日: 2005/11/18
*/
import java.util.Properties;import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Store;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;/**
* @author Croatia
*/
public class Test8 { static int attachnum = 1; public static void main(String args[]) {
try {
String host = "xxx.xxx.xxx.xxx";
String user = "xxxxxx";
String password = "xxxxxx"; Session session =
Session.getDefaultInstance(System.getProperties(), null);
Store store = session.getStore("pop3");
store.connect(host, -1, user, password); Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_WRITE); int totalMessages = folder.getMessageCount();
if (totalMessages == 0) {
System.out.println("没有?件");
folder.close(false);
store.close();
return;
}
Message[] messages = folder.getMessages();
for (int i = 0; i < messages.length; i++) {
sendMail(messages[i]);
// messages[i].setFlag(Flags.Flag.DELETED, true);
} // folder.close(true);
folder.close(false);
store.close();
} catch (Exception e) {
e.printStackTrace();
}
} public static void sendMail(Message m) throws Exception {
try { Properties props = System.getProperties();
props.put("mail.smtp.host", "XX.XX.XX.XX");
Session session = Session.getDefaultInstance(props, null); // Create the message to forward
MimeMessage forward = new MimeMessage(session); // Fill in header
forward.setSubject(m.getSubject()); forward.setFrom(m.getFrom()[0]);
forward.addRecipient(
Message.RecipientType.TO,
new InternetAddress("[email protected]","周","GB2312")); InternetAddress[] oAddress = (InternetAddress[])m.getRecipients(Message.RecipientType.CC);
if (oAddress != null){
for (int j=0;j<oAddress.length;j++){
forward.addRecipient(
Message.RecipientType.CC,
new InternetAddress(oAddress[j].getAddress(),oAddress[j].getPersonal()));
}
} // Create your new message part
MimeBodyPart messageBodyPart = new MimeBodyPart();
// messageBodyPart.setText("Here you go with the original message:\n\n","iso-2022-jp"); // Create a multi-part to combine the parts
Multipart multipart = new MimeMultipart();
// multipart.addBodyPart(messageBodyPart); // Create and fill part for the forwarded content
messageBodyPart = new MimeBodyPart();
messageBodyPart.setDataHandler(m.getDataHandler()); // Add part to multi part
multipart.addBodyPart(messageBodyPart); // Associate multi-part with message
forward.setContent(multipart); // Send message
Transport.send(forward); } catch (Exception e) {
e.printStackTrace();
}
}
}
过来接分