qm4050 发表于 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
页: [1]
查看完整版本: 发送邮件