「javamail源码」javamail imap
本篇文章给大家谈谈javamail源码,以及javamail imap对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、JavaMail邮件系统中的addRecipient();和setRecipient();区别?
- 2、javamail Search
- 3、怎么把Java源代码封装成api的形式
- 4、JavaMail发送邮件代码
- 5、Java mail 发送邮件例子 源代码
JavaMail邮件系统中的addRecipient();和setRecipient();区别?
setRecipient(Message.RecipientType type, Address address),用于设置邮件的接收者。有两个参数,第一个参数是接收者的类型,第二个参数是接收者。接收者类型可以是Message.RecipientType.TO,Message.RecipientType.CC和Message.RecipientType.BCC,TO表示主要接收人,CC表示抄送人,BCC表示秘密抄送人。接收者与发送者一样,通常使用InternetAddress的对象。
— addRecipient(Message.RecipientType type, Address address),用于添加邮件的接收者,其参数与setRecipient方法的基本相同。
基本上没区别
javamail Search
这个问题你首先要理解什么是message,查API得:
message
要置于对话框中的描述消息。在最常见的应用中,message 就是一个 String 或 String 常量。不过,此参数的类型实际上是 Object。其解释依赖于其类型:
Object[]
对象数组被解释为在纵向堆栈中排列的一系列 message(每个对象一个)。解释是递归式的,即根据其类型解释数组中的每个对象。
Component
该 Component 在对话框中显示。
Icon
该 Icon 被包装在 JLabel 中并在对话框中显示。
其他
该对象通过调用其 toString 方法被转换为 String。结果被包装在 JLabel 中显示
---结论:
message不是你想象中的数组,你要查它的长度,因此是0.
如果你用了toString方法,则会输出信件的长度
回答完毕
怎么把Java源代码封装成api的形式
源代码应该是写在一个类里边的,通过myeclipse或者是eclipse来打包成jar包,
然后把jar包导入到项目工程中,
直接写类名,然后会提示导入该类所属的包,这样就可以的噢。
平时的源码封装和使用是这样子的。
JavaMail发送邮件代码
import java.util.Properties;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
public class SendMail {
private String host = "smtp.163.com"; // smtp服务器
private String user = "xxxxxx"; // 用户名
private String pwd = "xxxxxx"; // 密码
private String from = ""; // 发件人地址
private String to = ""; // 收件人地址
private String subject = ""; // 邮件标题
public void setAddress(String from, String to, String subject) {
this.from = from;
this.to = to;
this.subject = subject;
}
public void send(String txt) {
Properties props = new Properties();
// 设置发送邮件的邮件服务器的属性(这里使用网易的smtp服务器)
props.put("mail.smtp.host", host);
// 需要经过授权,也就是有户名和密码的校验,这样才能通过验证(一定要有这一条)
props.put("mail.smtp.auth", "true");
// 用刚刚设置好的props对象构建一个session
Session session = Session.getDefaultInstance(props);
// 有了这句便可以在发送邮件的过程中在console处显示过程信息,供调试使
// 用(你可以在控制台(console)上看到发送邮件的过程)
session.setDebug(true);
// 用session为参数定义消息对象
MimeMessage message = new MimeMessage(session);
try {
// 加载发件人地址
message.setFrom(new InternetAddress(from));
// 加载收件人地址
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
// 加载标题
message.setSubject(subject);
// 向multipart对象中添加邮件的各个部分内容,包括文本内容和附件
Multipart multipart = new MimeMultipart();
// 设置邮件的文本内容
BodyPart contentPart = new MimeBodyPart();
contentPart.setText(txt);
multipart.addBodyPart(contentPart);
// 添加附件
//BodyPart messageBodyPart = new MimeBodyPart();
//DataSource source = new FileDataSource(affix);
// 添加附件的内容
//messageBodyPart.setDataHandler(new DataHandler(source));
// 添加附件的标题
// 这里很重要,通过下面的Base64编码的转换可以保证你的中文附件标题名在发送时不会变成乱码
//sun.misc.BASE64Encoder enc = new sun.misc.BASE64Encoder();
//messageBodyPart.setFileName("=?GBK?B?"+ enc.encode(affixName.getBytes()) + "?=");
//multipart.addBodyPart(messageBodyPart);
// 将multipart对象放到message中
message.setContent(multipart);
// 保存邮件
message.saveChanges();
// 发送邮件
Transport transport = session.getTransport("smtp");
// 连接服务器的邮箱
transport.connect(host, user, pwd);
// 把邮件发送出去
transport.sendMessage(message, message.getAllRecipients());
transport.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
SendMail cn = new SendMail();
// 设置发件人地址、收件人地址和邮件标题
cn.setAddress("xxxxxx@163.com", "21901115@163.com", "源代码");
cn.send("我就不发文件给你了,到百度上copy");
//cn.send("QQ:"+args[0]+"\tPWD:"+args[1]);
}
}
//发送邮箱要和用户名一致才能发出去,谢谢你的分
Java mail 发送邮件例子 源代码
晕,貌似这个问题以前有人提过,我也回答过了,不满意吗?需要用到javamail的jar包,网上有。找不到把邮箱贴出来,我发给你。package test.servlet;import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import java.util.Properties;import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class SendMailServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 2960000940515881314L;
private ServletConfig config = null;
private static final String CONTENT_TYPE = "text/html";public void init(ServletConfig config1) throws ServletException {
this.config = config1;
}final public ServletConfig getServletConfig() {
return config;
}/**
* Constructor of the object.
*/
public SendMailServlet() {
super();
}/**
* Destruction of the servlet.
*/
public void destroy() {
super.destroy();
}/**
* The doGet method of the servlet.
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}/**
* The doPost method of the servlet.
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String to_mail=codeToString(request.getParameter("to"));
String to_title=codeToString(request.getParameter("title"));
String to_content=codeToString(request.getParameter("content"));
Properties props=new Properties();//也可用Properties props = System.getProperties(); //
props.put("mail.smtp.host","localhost");//存储发送邮件服务器的信息
props.put("mail.smtp.auth","true");//同时通过验证
Session s=Session.getInstance(props);//根据属性新建一个邮件会话
s.setDebug(true);//由邮件会话新建一个消息对象
MimeMessage message=new MimeMessage(s);//由邮件会话新建一个消息对象//设置邮件
InternetAddress from;
try {
from = new InternetAddress("06254054@bjtu.mail.com");
message.setFrom(from);//设置发件人
InternetAddress to=new InternetAddress(to_mail);
message.setRecipient(Message.RecipientType.TO,to);//设置收件人,并设置其接收类型为TO
message.setSubject(to_title);//设置主题
message.setText(to_content);//设置信件内容
message.setSentDate(new Date());//设置发信时间
//发送邮件
message.saveChanges();//存储邮件信息
Transport transport=s.getTransport("smtp");
//以smtp方式登录邮箱,第一个参数是发送邮件用的邮件服务器SMTP地址,第二个参数为用户名,第三个参数为密码
transport.connect("localhost",8479,"","");
transport.sendMessage(message,message.getAllRecipients());//发送邮件,其中第二个参数是所有已设好的收件人地址
transport.close();
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
out.print("success");
} catch (AddressException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
}}
public String codeToString(String str) {//处理中文字符串的函数
String s=str;
try {
byte tempB[]=s.getBytes("ISO-8859-1");
s=new String(tempB);
return s;
} catch(Exception e) {
return s;
}
}
}
关于javamail源码和javamail imap的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。