📄 sendmail.java
字号:
/* * sendMail.java * * Created on 2008-3-15, 15:16:57 * * To change this template, choose Tools | Templates * and open the template in the editor. *//** * * @author w */import java.util.*;import javax.mail.*;import javax.mail.internet.*;import javax.activation.*;import java.io.*;import com.sun.mail.util.*;import java.net.*; //实现多线程public class sendMail extends Thread{ private MimeMessage mailObject; //MIME邮件对象 private Session session; //邮件会话对象 private Properties props; // 系统属性 private boolean needAuth = true; //SMTP要认证,现在来说 private String username = ""; private String password = ""; private Multipart mail; //邮件内容,标题,附件等内容等均存在此 private Transport transport = null; public sendMail( String smtp, String from, String pw, String to, String content,File f ) { System.out.println( "设置系统属性:mail.smtp.host = " + smtp ); if( props == null ) { props = System.getProperties( ); } props.put( "mail.smpt.host", smtp ); //准备获取邮件会话对象 try { System.out.println( "准备获取邮件会话对象" ); session = Session.getDefaultInstance( props, null ); } catch( Exception e ) { System.out.println( "获取会话对象时发生错误" + e ); } //创建MIME邮件对象 System.out.println( "准备创建MIME邮件对象" ); try { mailObject = new MimeMessage( session ); mail = new MimeMultipart( ); } catch( Exception e ) { System.err.println( "创建MIME邮件对象失败" + e ); } //设置SMTP身体认证 System.out.println( "设置smtp身份认证: mail.smtp.auth = " + true ); if( props == null ) { props = System.getProperties( ); } props.put( "mail.smtp.auth", "false" ); //设置邮件主题 System.out.println( "设置邮件主题" ); try { mailObject.setSubject( "这是一封程序自动发送的邮件" ); } catch( Exception e ) { System.out.println( "设置邮件主题失败" + e ); } //设置BODY try { BodyPart bp = new MimeBodyPart( ); bp.setContent( "" + content, "text/html;charset=gb2312" ); mail.addBodyPart( bp ); } catch( Exception e ) { System.err.println( "设置邮件正文时发生错误" + e ); } //设置接收者 try { mailObject.setRecipients( Message.RecipientType.TO, InternetAddress.parse( to ) ); } catch( Exception e ) { System.err.println( "设置接收者失败" + e ); } //设置发送者 try { mailObject.setFrom( new InternetAddress( from ) ); } catch( Exception e ) { System.err.println( "设置发送者失败" + e ); } //设置发送附件 System.out.println( "增加邮件邮件" ); if( f != null ) { try { BodyPart bp1 = new MimeBodyPart( ); FileDataSource fileds = new FileDataSource( f ); bp1.setDataHandler( new DataHandler( fileds ) ); bp1.setFileName( fileds.getName( ) ); mail.addBodyPart( bp1 ); } catch( Exception e ) { System.err.println( "设置附件时失败" + e ); } } //开始发送 try { mailObject.setContent( mail ); mailObject.saveChanges( ); //System.out.println( "正在发送邮件....." ); Session mailSession = Session.getInstance( props, null ); transport = mailSession.getTransport( "smtp" ); transport.connect( smtp, getUserName.getName( from ) , pw ); //transport.sendMessage( mailObject, mailObject.getRecipients( Message.RecipientType.TO ) ); // System.out.println( "发送成功" ); //transport.close( ); } catch( Exception e ) { System.err.println( "设置失败" ); } } public void close() { try { transport.close(); } catch( Exception e ) { System.out.println( "关闭失败" + e ); } } public void send() { System.out.println( "ready to send" ); try { transport.sendMessage( mailObject, mailObject.getRecipients( Message.RecipientType.TO ) ); } catch( Exception e ) { System.out.println( "发送失败" + e ); } } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -