想做个功能就是往注册的用户邮箱里发封确认邮件的功能,求一个用javamail发送邮件功能的代码,非常感谢 [email protected]

解决方案 »

  1.   

    package demo.emailDemo;import java.io.IOException;import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;import org.apache.commons.mail.EmailException;
    import org.apache.commons.mail.SimpleEmail;public class Email extends HttpServlet { @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    throws ServletException, IOException {
        doPost(req, resp);
    } @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
    throws ServletException, IOException {
            String subject = req.getParameter("subject");   //主题
            String sendEmail = req.getParameter("sendEmail");  //收件人地址
            String sendName = req.getParameter("sendName");//收件人名称
          //  String receiveEmail = req.getParameter("receiveEmail");//发件人地址
        //    System.out.println(receiveEmail+"------------------------------");
         //   String receiveName = req.getParameter("receiveName");//发件人名称
            String sendContent = req.getParameter("sendContent");//发送内容
            try{
            SimpleEmail se = new SimpleEmail();
            se.setHostName("smtp.qq.com");  //设置邮件服务器
            se.setAuthentication("[email protected]", "zhiming0322");  //smtp  认证的用户名和密码
            se.addTo(sendEmail, sendName);//收件人
            se.setFrom("[email protected]", "dddddd");//发件人
            se.setSubject(subject);//设置标题
            se.setCharset("utf-8");//设置编码
            se.setMsg(sendContent);//设置发送内容
            se.send();  //发送
            }catch(EmailException e){
             e.printStackTrace();
            }
            
    }
      

  2.   

    不行啊 我都没有import org.apache.commons.mail.EmailException;
    import org.apache.commons.mail.SimpleEmail; 这2个包 
    你这是用javax.mail来实现的吗
      

  3.   

    我要用javamail来实现的~不用servlet
      

  4.   

    我找到了一个 但是运行时报错
    1。java.lang.reflect.InvocationTargetException
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:597)
    2。java.lang.NoClassDefFoundError: javax/mail/BodyPart
    com.bhtits.web.RegAction.register(RegAction.java:54)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:597)
    3。java.lang.ClassNotFoundException: javax.mail.BodyPart
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1360)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1206)
    java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
    com.bhtits.web.RegAction.register(RegAction.java:54)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:597)
      

  5.   

    http://commons.apache.org/email/  到这里去看看吧  比用javax.mail 简单的多
      

  6.   

    找不到  javax.mail.BodyPart  这个类    到jar里面看看有没有这个类啊
      

  7.   

    那个太麻烦了,看我的
    HtmlEmail email = new HtmlEmail();
    email.setHostName(hostName);
    // 需要邮件发送服务器验证,用户名/密码
    email.setAuthentication(authName, authPass);
    email.setFrom(mailFrom, sender);//在配置文件中设置
    // 设置主题的字符集为GBK
    email.setCharset("GBK");
    //email.setCharset("UTF-8");
    email.setSubject(model.getMailTitle());
    email.setHtmlMsg(model.getMailContent());
    email.addTo(model.getEmail(), "");//在配置文件中设置