• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

JavaMail操作的总结(4)

servlet/jsp 搞代码 7年前 (2018-06-18) 198次浏览 已收录 0个评论

//此段代码用来发送带有html信息的邮件
void jButton8_actionPerformed(ActionEvent e) {
try
{
Properties props = new Properties();
Authenticator auth = new Email_Autherticator();

http://www.gaodaima.com/42612.htmljavaMail操作的总结(4)

props.put("mail.smtp.host",host);
props.put("mail.smtp.auth","true");
Session session = Session.getDefaultInstance(props,auth);
MimeMessage message = new MimeMessage(session);
//设置邮件正文
String htmltext="< h1>hello< /h1>"+"< a href="http://www.sina.com.cn&quot; target="_blank">click me please!< /a>";
message.setContent(htmltext,"text/html");//text/plain设置邮件的格式因为是带有html文档的,所以用text/html格式

message.setSubject(mail_subject);
// message.setText(mail_body);在使用message.setContent()时候,好象不能用message.setText()
message.setHeader(mail_head_name,mail_head_value);
message.setSentDate(new Date());
Address address = new InternetAddress(mail_from,"sunxiaoming");
message.setFrom(address);
Address toAddress = new InternetAddress(mail_to);
message.addRecipient(Message.RecipientType.TO,toAddress);
Transport.send(message);
System.out.println("send ok!");
}
catch(Exception ex)
{
System.out.println("faild"+ex);
}

}

//此段代码用来发送带有图片的邮件
void jButton9_actionPerformed(ActionEvent e) {
try
{
String file = "./20020423/test.gif";
Properties props = new Properties();
Authenticator auth = new Email_Autherticator();

props.put("mail.smtp.host",host);
props.put("mail.smtp.auth","true");
Session session = Session.getDefaultInstance(props,auth);
MimeMessage message = new MimeMessage(session);

message.setSubject("Embedded Image");
Address address = new InternetAddress(mail_from,"sunxiaoming");
message.setFrom(address);
Address toAddress = new InternetAddress(mail_to);
message.addRecipient(Message.RecipientType.TO,toAddress);
message.setHeader(mail_head_name,mail_head_value);
message.setSentDate(new Date());

BodyPart messageBodyPart = new MimeBodyPart();
String htmlText = "< h1>< /h1>"+"< img src="cid:memememe">";//加入图片
messageBodyPart.setContent(htmlText,"text/html");
//原理同发送附件一样,将邮件看成有多个部分组成的,先设置每一个部分,然后再全部将它们合起来即可。
//Create a related multi-part to combine the parts
MimeMultipart multipart = new MimeMultipart("related");
multipart.addBodyPart(messageBodyPart);

//Create part for the image
messageBodyPart = new MimeBodyPart();

//Fetch the image and associate to part
DataSource fds = new FileDataSource(file);
messageBodyPart.setDataHandler(new DataHandler(fds));
messageBodyPart.setHeader("Content-ID","memememe");

//Add part to multi-part
multipart.addBodyPart(messageBodyPart);

//Associate multi-part with message
message.setContent(multipart);

Transport.send(message);
System.out.println("send ok!");
}
catch(Exception ex)
{
System.out.println("faild"+ex);
}

}

//该程序用来接受带有html信息的邮件
void jButton7_actionPerformed(ActionEvent e) {
try
{
Properties props = System.getProperties();
Authenticator auth = new Email_Autherticator();
props.put("mail.smtp.host",host);
props.put("mail.smtp.auth","true");
Session session = Session.getDefaultInstance(props,auth);
Store store = session.getStore("pop3");
store.connect(host,username,password);

//After connecting to the Store,you can get a Folder,which must be opened before you can read messages from it:
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_WRITE);
Message message[] = folder.getMessages();

for (int i=0,n=message.length;i // for (int i=0,n=1;i {
String out_from_person = ((InternetAddress)message[i].getFrom()[0]).getPersonal();
String out_from_address = ((InternetAddress)message[i].getFrom()[0]).getAddress();
System.out.println("From:"+out_from_person+" ");
System.out.println("Address:"+out_from_address+" ");

String out_subject = message[i].getSubject();
System.out.println("Subject:"+out_subject+" ");

//获取邮件的信息,并且对其每一部分进行操作
Part messagePart = message[i];
Object out_content = messagePart.getContent();
if (out_content instanceof Multipart)
{
messagePart = ((Multipart)out_content).getBodyPart(0);
System.out.println("[ Multipart Message ]");
}
String out_content_type = messagePart.getContentType();
System.out.println("CONTENT:"+out_content_type);

jEditorPane1.setText("");//将其显示在jEditorPanel上
jEditorPane1.setContentType("text/html");
jEditorPane1.setText((String)out_content);
jEditorPane1.setEditable(false);

/*
if (out_content_type.startsWith("text/plain") | | out_content_type.startsWith("text/html"))
{
InputStream ipstm = messagePart.getInputStream();
BufferedReader bufreader = new BufferedReader(new InputStreamReader(ipstm));
String thisLine = bufreader.readLine();
while (thisLine != null)
{
System.out.println("thisLine: "+thisLine);
thisLine = bufreader.readLine();
}
}
*/
System.out.println("————————————————————");
message[i].setFlag(Flags.Flag.DELETED,true);
}
folder.close(true);
store.close();
}
catch(Exception ej2)
{
System.out.println(ej2);
}

}
 

欢迎大家阅读《JavaMail操作的总结(4)》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:JavaMail操作的总结(4)

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址