如何用java编写邮件程序,来发送给某个用户?
没有遇到过这种情况?有知道这方面内容的吗?

解决方案 »

  1.   

    import java.util.Date; 
    import java.util.Properties; 
    import javax.servlet.*; //此句报错误的话请注释 
    import javax.mail.Session; 
    import javax.mail.Authenticator; 
    import javax.mail.PasswordAuthentication; 
    import javax.mail.Message; 
    import javax.mail.internet.MimeMessage; 
    import javax.mail.internet.InternetAddress; 
    import javax.mail.Transport; 
    public class javaMail { 
          private Properties properties; 
          private Session mailSession; 
          private MimeMessage mailMessage; 
          private Transport trans; 
          public javaMail() { 
          } 
          public void sendMail() { 
              try { 
                  properties = new Properties(); 
                  //设置邮件服务器 
                  properties.put("mail.smtp.host", "smtp.sina.com"); 
                  //验证 
                  properties.put("mail.smtp.auth", "true"); 
                  //根据属性新建一个邮件会话 
                  mailSession = Session.getInstance(properties, 
                                                    new Authenticator() { 
                      public PasswordAuthentication getPasswordAuthentication() { 
                          return new PasswordAuthentication("[email protected]", 
                              "*******"); 
                      } 
                  }); 
                  mailSession.setDebug(true); 
                  //建立消息对象 
                  mailMessage = new MimeMessage(mailSession); 
                  //发件人 
                  mailMessage.setFrom(new InternetAddress("[email protected]")); 
                  //收件人 
                  mailMessage.setRecipient(MimeMessage.RecipientType.TO, 
                                      new InternetAddress("[email protected]")); 
                  //主题 
                  mailMessage.setSubject("测试"); 
                  //内容 
                  mailMessage.setText("test"); 
                  //发信时间 
                  mailMessage.setSentDate(new Date()); 
                  //存储信息 
                  mailMessage.saveChanges(); 
                  // 
                  trans = mailSession.getTransport("smtp"); 
                  //发送 
                  trans.send(mailMessage); 
              } catch (Exception e) { 
                  e.printStackTrace(); 
              } finally { 
              } 
          } 
    /** 
      * @param args 
      */ 
    public static void main(String[] args) { 
      // TODO Auto-generated method stub 
      javaMail javaMail=new javaMail(); 
      javaMail.sendMail(); 

    }
      

  2.   

    需要mail.jar 和activation.jar两个包
      

  3.   


    org.apache.commons.mail.HtmlEmail;public void doSendMail(String emailTitle, String sendFrom, String password,
    String sendTo, String emailBody) {
    HtmlEmail email = new HtmlEmail();
    email.setHostName("smtp.126.com");
    email.setAuthentication(sendFrom, password);
    try {
    email.addTo(sendTo);
    email.setFrom(sendFrom);
    // *********************************
    // email.setSSL(true);
    // email.setSslSmtpPort("465");
    // *********************************
    email.setSubject(emailTitle);
    email.setCharset("gb2312");
    email.setHtmlMsg(emailBody);
    email.send();
    } catch (EmailException e) {
    e.printStackTrace();
    }
    }恩,差不多了。这是126的。。别的也可以。。改改hostName.port...
      

  4.   

    需要mail.jar,大概425MB。
    public class MailSendFactory
    {
    private String username;
    private String password;
    private String smtpServer;
    private String fromMailAddress; private static MailSendFactory instance; private MailSendFactory()
    {
    init();
    } private void init()
    {
    username = ******;
    password = ******;
    smtpServer = ******;
    fromMailAddress = ******;
    } public static MailSendFactory getInstance()
    {
    if (instance == null)
    {
    instance = new MailSendFactory();
    }
    return instance;
    } public void sendMail(InternetAddress[] addrTo, InternetAddress[] addrCC,
    InternetAddress[] addrBCC, String subject, String content,
    ArrayList<File> lstAttach) throws AddressException,
    MessagingException
    {
    Properties props = new Properties();
    props.put("mail.smtp.auth", "true");
    props.put("mail.smtp.host", smtpServer);
    // 获得邮件会话对象
    Session session = Session.getDefaultInstance(props, new Authenticator()
    {
    public PasswordAuthentication getPasswordAuthentication()
    {
    return new PasswordAuthentication(username, password);
    }
    });
    MimeMessage mimeMsg = new MimeMessage(session); // 创建MIME邮件对象 mimeMsg.setFrom(new InternetAddress(fromMailAddress));// 发件人
    if (addrTo.length > 0)
    {
    mimeMsg.setRecipients(Message.RecipientType.TO, addrTo);// 收件人
    }
    if (addrCC.length > 0)
    {
    mimeMsg.setRecipients(Message.RecipientType.CC, addrCC);// 抄送
    }
    if (addrBCC.length > 0)
    {
    mimeMsg.setRecipients(Message.RecipientType.BCC, addrBCC);// 暗送
    }
    mimeMsg.setSubject(subject);// 主题
    mimeMsg.setSentDate(new Date());// 发送日期 // 正文
    Multipart mp = new MimeMultipart();
    BodyPart bp = new MimeBodyPart();
    bp.setContent("" + content, "text/html;charset=GB2312");
    mp.addBodyPart(bp);
    // 附件
    if (lstAttach.size() > 0)
    {
    for (File file : lstAttach)
    {
    BodyPart bpAttach = new MimeBodyPart();
    FileDataSource fileds = new FileDataSource(file);
    bpAttach.setDataHandler(new DataHandler(fileds));
    bpAttach.setFileName(fileds.getName());
    mp.addBodyPart(bpAttach);
    }
    }
    mimeMsg.setContent(mp);
    mimeMsg.saveChanges(); Transport.send(mimeMsg);
    }
    }
      

  5.   

    你丫的,吓人哦。看清楚了,mail.jar
    你当时VS安装程序啊
      

  6.   

    mail.jar有这么大么?来,我们讨论讨论
      

  7.   

    mail.jar 
    大小:319 KB (327,603 字节)
    占用空间:320 KB (327,680 字节)
      

  8.   

    别瞎搞,一个mail.jar如果4百多兆,还开发什么邮件服务。
    最多是服务器,我想才会有这么大。我说你才要谦虚点才行。
      

  9.   

    http://d.download.csdn.net/down/398258/dbhunter
    LZ可以去下~
      

  10.   

    javamail-1.4.2 mail.jar,425KB。
    咋的,写错个单位了嘛,至于你那个没素质的语气么?
    还有从你上面贴的代码看,水平比较菜,不服气?
      

  11.   


    报错:
    javax.mail.MessagingException: Could not connect to SMTP host: smtp.sina.com.cn, port: 25;
      nested exception is:
    java.net.ConnectException: Connection timed out: connect
    at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1282)
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:370)
    at javax.mail.Service.connect(Service.java:297)
    at javax.mail.Service.connect(Service.java:156)
    at javax.mail.Service.connect(Service.java:105)
    at javax.mail.Transport.send0(Transport.java:168)
    at javax.mail.Transport.send(Transport.java:98)
    at javaMail.sendMail(javaMail.java:52)
    at javaMail.main(javaMail.java:64)
    Caused by: java.net.ConnectException: Connection timed out: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
    at java.net.Socket.connect(Socket.java:519)
    at java.net.Socket.connect(Socket.java:469)
    at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:232)
    at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:189)
    at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1250)
    ... 8 more

      

  12.   

    javamail  邮件发送接收都可以做!
    但是要确保你的Email邮箱开通pop,smtp服务