javaMail -- Example

用JAVAMAIL发送邮件的,下面是发送邮件的代码:
Java代码   收藏代码 
  1. import java.util.*;  
  2. import java.io.*;  
  3. import javax.mail.*;  
  4. import javax.mail.internet.*;  
  5. import javax.activation.*;  
  6.    
  7. public class SendMail {  
  8.     public static void main(String[] args) {  
  9.         try {  
  10.            Properties p = new Properties(); //Properties p = System.getProperties();  
  11.             p.put("mail.smtp.auth""true");  
  12.             p.put("mail.transport.protocol""smtp");  
  13.             p.put("mail.smtp.host""smtp.163.com");  
  14.             p.put("mail.smtp.port""25");  
  15.             //建立会话  
  16.             Session session = Session.getInstance(p);  
  17.             Message msg = new MimeMessage(session); //建立信息  
  18.    
  19.             msg.setFrom(new InternetAddress("bluebit_cn@163.com")); //发件人  
  20.             msg.setRecipient(Message.RecipientType.TO,  
  21.                              new InternetAddress("javaonline@163.com")); //收件人  
  22.    
  23.             msg.setSentDate(new Date()); // 发送日期  
  24.             msg.setSubject("答话稀有"); // 主题  
  25.             msg.setText("快点下在"); //内容  
  26.             // 邮件服务器进行验证  
  27.             Transport tran = session.getTransport("smtp");  
  28.             tran.connect("smtp.163.com""bluebit_cn""xiaohao");  
  29.             // bluebit_cn是用户名,xiaohao是密码  
  30.             tran.sendMessage(msg, msg.getAllRecipients()); // 发送  
  31.             System.out.println("邮件发送成功");  
  32.    
  33.         } catch (Exception e) {  
  34.             e.printStackTrace();  
  35.         }  
  36.     }  
  37. }  

     上面的代码是一个简单的用JAVA发送邮件的例子,其中我们是用163的邮箱来发送邮件的,所以服务器是smtp.163.com,然后发件人是bluebit_cn@163.com,注意,因为我们是用163的服务器来发送邮件的,所以我们的发件人就必须是163的邮箱,至于收件人的话可以是任意的邮箱。
       整个发邮件的思想:导入相关的包→生成属性对象→创建javamail会话→编写javamail消息→发送javamail消息。
       导入包用不着多说,生成属性对象的话就是开关部分,这个的话全世界都是一样的,只是注意那个邮件服务器的设置就行,对了,额外说句,发送邮件是用SMTP协议,接收邮件才是POP3协议或者其他的。。。
下面的话还是发送邮件的,不过是通过HTML网页来发送的,网页制作我就不多说了,下面是源码,而且是带有附件的源码:

Java代码   收藏代码
  1. import javax.servlet.*;  
  2. import javax.servlet.http.*;  
  3. import java.io.*;  
  4. import java.util.*;  
  5. import javax.mail.*;  
  6. import javax.mail.internet.*;  
  7. import javax.activation.*;  
  8.   
  9.   
  10. public class sendMailMul extends HttpServlet {  
  11.     private static final String CONTENT_TYPE = "text/html; charset=GBK";  
  12.   
  13.     //Initialize global variables  
  14.     public void init() throws ServletException {  
  15.     }  
  16.   
  17.     //Process the HTTP Get request  
  18.     public void doGet(HttpServletRequest request, HttpServletResponse response) throws  
  19.             ServletException, IOException {  
  20.         response.setContentType(CONTENT_TYPE);  
  21.         PrintWriter out = response.getWriter();  
  22.         request.setCharacterEncoding("gbk");  
  23.         response.setCharacterEncoding("gbk");  
  24.   
  25.         String mailServer = request.getParameter("txtServer").trim();  
  26.         String mailFrom = request.getParameter("txtFrom").trim();  
  27.         String mailTo = request.getParameter("txtTo").trim();  
  28.         String mailSubject = request.getParameter("txtSubject").trim();  
  29.         String mailMessage = request.getParameter("txtMessage").trim();  
  30.         String file = request.getParameter("txtAttachment").trim();  
  31.   
  32.         mailSubject = new String(mailSubject.getBytes("ISO-8859-1"), "gbk");  
  33.         mailMessage = new String(mailMessage.getBytes("ISO-8859-1"), "gbk");  
  34.         file = new String(file.getBytes("ISO-8859-1"), "gbk");  
  35.   
  36.         System.out.println("页面数据:");  
  37.         System.out.println("mailServer:" + mailServer);  
  38.         System.out.println("mailFrom:" + mailFrom);  
  39.         System.out.println("mailTo:" + mailTo);  
  40.         System.out.println("mailSubject:" + mailSubject);  
  41.         System.out.println("mailMessage:" + mailMessage);  
  42.         System.out.println("file:" + file);  
  43.   
  44.         Properties p = new Properties();  
  45.         p.put("mail.smtp.auth""true");  
  46.         p.put("mail.transport.protocol""smtp");  
  47.         p.put("mail.smtp.host", mailServer);  
  48.         p.put("mail.smtp.port""25");  
  49.   
  50.         Session mailsession = Session.getInstance(p);  
  51.   
  52.         MimeMessage msg = new MimeMessage(mailsession);  
  53.   
  54.         try {  
  55.             msg.setFrom(new InternetAddress(mailFrom));  
  56.             msg.setRecipients(Message.RecipientType.TO,  
  57.                               InternetAddress.parse(mailTo));  
  58.             msg.setSentDate(new Date());  
  59.             msg.setSubject(mailSubject);  
  60.   
  61.             //设置邮件内容,作为Multipart对象的一部分  
  62.             MimeBodyPart mbp = new MimeBodyPart();  
  63.             mbp.setText(mailMessage);  
  64.             Multipart mulp = new MimeMultipart();  
  65.             mulp.addBodyPart(mbp);  
  66.             //设置附件,作为Multipart对象的一部分  
  67.             mbp = new MimeBodyPart();  
  68.             DataSource source = new FileDataSource(file);  
  69.             mbp.setDataHandler(new DataHandler(source));  
  70.             mbp.setFileName(file);  
  71.             mulp.addBodyPart(mbp);  
  72.             //设置信息内容,将Multipart 对象加入信息中  
  73.             msg.setContent(mulp);  
  74.   
  75.             Transport tran = mailsession.getTransport("smtp");  
  76.             tran.connect(mailServer, "bluebit_cn""xiaohao");  
  77.             tran.sendMessage(msg, msg.getAllRecipients());  
  78.   
  79.             msg.writeTo(System.out);  
  80.             out.println("邮件已经发送到<br>" + mailTo);  
  81.   
  82.         } catch (Exception e) {  
  83.             e.printStackTrace();  
  84.         }  
  85.   
  86.         out.close();  
  87.     }  
  88.   
  89.     //Process the HTTP Post request  
  90.     public void doPost(HttpServletRequest request, HttpServletResponse response) throws  
  91.             ServletException, IOException {  
  92.         doGet(request, response);  
  93.     }  
  94.   
  95.     //Clean up resources  
  96.     public void destroy() {  
  97.     }  


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值