我想做一个发软件的页面,可以完成给自己的邮箱发一个邮件的功能(比如[email protected]) 可不知道怎么写  

解决方案 »

  1.   

    LZ你可以看这个
    http://www.java2000.net/viewthread.jsp?tid=177#T3949
      

  2.   

    package dm;/*
     * <p>
     * Description:用来发送邮件
     * </p>
     * @author <a href="mailto:[email protected]">Wangwenjun</a>
     * @Date 2008-03-03 AM 16-38-51
     * */
    import java.util.Date;
    import java.util.Properties;import javax.mail.Address;
    import javax.mail.Message;
    import javax.mail.MessagingException;
    import javax.mail.NoSuchProviderException;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.AddressException;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;import dm.configBean.MailConfig;
    import dm.parse.EncapMail;
    import dm.parse.ParseMailConfig;public class MailSendTrap {
    private Properties prop; private Message message; private Session session = null; /*
     * getDmConfigBean()方法主要是获得日志文件的内容
     */
    private ParseMailConfig parseMailConfig = new ParseMailConfig();
    private MailConfig mailConfig;
        Log log = LogFactory.getLog(MailSendTrap.class);
    public MailConfig getMailConfig()
    {
    String path = System.getProperty("user.dir");
    String filepath = "/config/mailCon.properties";
    mailConfig = parseMailConfig.getMailConfig(path+filepath);
    return mailConfig;
    }
    public Properties getProperties() {
    this.prop = new Properties();
    prop.put("mail.smtp.host", this.getMailConfig().getSmtp_address());
    prop.put("mail.smtp.auth", "true");
    return prop;
    } public Session getSession() {
    this.session = Session.getInstance(this.getProperties(), null);
    session.setDebug(true);
    return session;
    } public void sendMail() {
    this.message = new MimeMessage(this.getSession());
    try {
    Address from = new InternetAddress(this.getMailConfig()
    .getMailfrom());
    String address[] = this.getMailConfig().getMailto().split(";");
    Address to[] = new Address[address.length];
    for(int i=0;i<address.length;i++)
    {
    to[i] = new InternetAddress(address[i]);
    }
    // Address to = new InternetAddress(this.getMailConfig().getMailto());
    this.message.setFrom(from);
    this.message.setRecipients(Message.RecipientType.TO, to);
    EncapMail encapMail = new EncapMail();
    if(encapMail.getMail().getTitle()!=null&&encapMail.getMail().getContent()!=null&&!encapMail.getMail().getTitle().equals("")){
    System.out.println("执行发送邮件的代码!");
    log.debug("准备发送邮件");
    this.message.setSubject(encapMail.getMail().getTitle());
    this.message.setText(encapMail.getMail().getContent());
    this.message.setSentDate(new Date());
    this.message.saveChanges();
    System.out.println("youmeiyoufasongne?");
    this.sendTransport(message);
    System.out.println("youmeiyoufasongne?1");
    }
    else{
    System.out.println("不发送邮件");
    log.debug("不发送邮件");
    }
    } catch (AddressException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (MessagingException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } } public void sendTransport(Message message) {
    try {
    Transport transport = this.getSession().getTransport("smtp");
    System.out.println("transport1");
    transport.connect(this.getMailConfig().getSmtp_address(), this
    .getMailConfig().getUsername(), this.getMailConfig()
    .getPassword());
    System.out.println("transport2");
    transport.sendMessage(message, message.getAllRecipients());
    System.out.println("transport3");
    transport.close();
    } catch (NoSuchProviderException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (MessagingException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    }
    另外还需要导入javamailjar包,这是我前一段时间写过的一个程序中的一部分,记得加分啊