六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 78|回复: 0

发送邮件

[复制链接]

升级  90%

51

主题

51

主题

51

主题

秀才

Rank: 2

积分
185
 楼主| 发表于 2013-2-5 09:05:34 | 显示全部楼层 |阅读模式
import java.util.*;
import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
public class SendMail {
  public static void main(String[] args) {
    try {
      Properties p = new Properties(); //Properties p = System.getProperties();
      p.put("mail.smtp.auth", "true");
      p.put("mail.transport.protocol", "smtp");
      p.put("mail.smtp.host", "smtp.163.com");
      p.put("mail.smtp.port", "25");
      //建立会话
      Session session = Session.getInstance(p);
      Message msg = new MimeMessage(session); //建立信息
      msg.setFrom(new InternetAddress("bluebit_cn@163.com")); //发件人
      msg.setRecipient(Message.RecipientType.TO,
              new InternetAddress("javaonline@163.com")); //收件人
      msg.setSentDate(new Date()); // 发送日期
      msg.setSubject("答话稀有"); // 主题
      msg.setText("快点下在"); //内容
      // 邮件服务器进行验证
      Transport tran = session.getTransport("smtp");
      tran.connect("smtp.163.com", "bluebit_cn", "xiaohao");
      // bluebit_cn是用户名,xiaohao是密码
      tran.sendMessage(msg, msg.getAllRecipients()); // 发送
      System.out.println("邮件发送成功");
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}
下面的话还是发送邮件的,不过是通过HTML网页来发送的
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
public class sendMailMul extends HttpServlet {
  private static final String CONTENT_TYPE = "text/html; charset=GBK";
  //Initialize global variables
  public void init() throws ServletException {
  }
  //Process the HTTP Get request
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws
      ServletException, IOException {
    response.setContentType(CONTENT_TYPE);
    PrintWriter out = response.getWriter();
    request.setCharacterEncoding("gbk");
    response.setCharacterEncoding("gbk");
    String mailServer = request.getParameter("txtServer").trim();
    String mailFrom = request.getParameter("txtFrom").trim();
    String mailTo = request.getParameter("txtTo").trim();
    String mailSubject = request.getParameter("txtSubject").trim();
    String mailMessage = request.getParameter("txtMessage").trim();
    String file = request.getParameter("txtAttachment").trim();
    mailSubject = new String(mailSubject.getBytes("ISO-8859-1"), "gbk");
    mailMessage = new String(mailMessage.getBytes("ISO-8859-1"), "gbk");
    file = new String(file.getBytes("ISO-8859-1"), "gbk");
    System.out.println("页面数据:");
    System.out.println("mailServer:" + mailServer);
    System.out.println("mailFrom:" + mailFrom);
    System.out.println("mailTo:" + mailTo);
    System.out.println("mailSubject:" + mailSubject);
    System.out.println("mailMessage:" + mailMessage);
    System.out.println("file:" + file);
    Properties p = new Properties();
    p.put("mail.smtp.auth", "true");
    p.put("mail.transport.protocol", "smtp");
    p.put("mail.smtp.host", mailServer);
    p.put("mail.smtp.port", "25");
    Session mailsession = Session.getInstance(p);
    MimeMessage msg = new MimeMessage(mailsession);
    try {
      msg.setFrom(new InternetAddress(mailFrom));
      msg.setRecipients(Message.RecipientType.TO,
               InternetAddress.parse(mailTo));
      msg.setSentDate(new Date());
      msg.setSubject(mailSubject);
      //设置邮件内容,作为Multipart对象的一部分
      MimeBodyPart mbp = new MimeBodyPart();
      mbp.setText(mailMessage);
      Multipart mulp = new MimeMultipart();
      mulp.addBodyPart(mbp);
      //设置附件,作为Multipart对象的一部分
      mbp = new MimeBodyPart();
      DataSource source = new FileDataSource(file);
      mbp.setDataHandler(new DataHandler(source));
      mbp.setFileName(file);
      mulp.addBodyPart(mbp);
      //设置信息内容,将Multipart 对象加入信息中
      msg.setContent(mulp);
      Transport tran = mailsession.getTransport("smtp");
      tran.connect(mailServer, "bluebit_cn", "xiaohao");
      tran.sendMessage(msg, msg.getAllRecipients());
      msg.writeTo(System.out);
      out.println("邮件已经发送到<br>" + mailTo);
    } catch (Exception e) {
      e.printStackTrace();
    }
    out.close();
  }
  //Process the HTTP Post request
  public void doPost(HttpServletRequest request, HttpServletResponse response) throws
      ServletException, IOException {
    doGet(request, response);
  }
  //Clean up resources
  public void destroy() {
  }
}
http://blog.csdn.net/niunan/archive/2008/02/20/2108958.aspx
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表