【问题标题】:how to Send email using GMail SMTP server from jsp page? [closed]如何从 jsp 页面使用 GMail SMTP 服务器发送电子邮件? [关闭]
【发布时间】:2011-12-13 22:22:03
【问题描述】:

我正在尝试从 jsp 页面通过 GMail 的 SMTP 服务器发送电子邮件,但我没有得到正确的结果

【问题讨论】:

    标签: java email jsp smtp gmail


    【解决方案1】:

    你必须使用Java Mail API

    【讨论】:

      【解决方案2】:

      从 JSP 中,当您提交表单时,您需要调用一个 Java 类,您可以在其中编写使用 JavaMail 发送邮件的代码。你可以在这里找到一个例子 http://code.geekinterview.com/java/send-email-using-gmail-mail-server.html:

      //set CLASSPATH=%CLASSPATH%;activation.jar;mail.jar
      import javax.mail.*;
      import javax.mail.internet.*;
      import java.util.*;
      
      public class Mail
      {
               String  d_email = "iXmdXr@gmail.com",
                  d_password = "****",
                  d_host = "smtp.gmail.com",
                  d_port  = "465",
                  m_to = "iXmdXr@XXXXX.com",
                  m_subject = "Testing",
                  m_text = "Hey, this is the testing email using smtp.gmail.com.";
          public static void main(String[] args)
          {
                      String[] to={"XXX@yahoo.com"};
                      String[] cc={"XXX@yahoo.com"};
                      String[] bcc={"XXX@yahoo.com"};
                      //This is for google
                              Mail.sendMail("venkatesh@dfdf.com","password","smtp.gmail.com","465","true",
      "true",true,"javax.net.ssl.SSLSocketFactory","false",to,cc,bcc,
      "hi baba don't send virus mails..","This is my style...of reply..
      If u send virus mails..");             
          }
      
              public synchronized static boolean sendMail(String userName,String passWord,String host,String port,String starttls,String auth,boolean debug,String socketFactoryClass,String fallback,String[] to,String[] cc,String[] bcc,String subject,String text){
                      Properties props = new Properties();
                      //Properties props=System.getProperties();
              props.put("mail.smtp.user", userName);
              props.put("mail.smtp.host", host);
                      if(!"".equals(port))
              props.put("mail.smtp.port", port);
                      if(!"".equals(starttls))
              props.put("mail.smtp.starttls.enable",starttls);
              props.put("mail.smtp.auth", auth);
                      if(debug){
                      props.put("mail.smtp.debug", "true");
                      }else{
                      props.put("mail.smtp.debug", "false");         
                      }
                      if(!"".equals(port))
              props.put("mail.smtp.socketFactory.port", port);
                      if(!"".equals(socketFactoryClass))
              props.put("mail.smtp.socketFactory.class",socketFactoryClass);
                      if(!"".equals(fallback))
              props.put("mail.smtp.socketFactory.fallback", fallback);
      
              try
              {
                              Session session = Session.getDefaultInstance(props, null);
                  session.setDebug(debug);
                  MimeMessage msg = new MimeMessage(session);
                  msg.setText(text);
                  msg.setSubject(subject);
                  msg.setFrom(new InternetAddress("p_sambasivarao@sutyam.com"));
                              for(int i=0;i<to.length;i++){
                  msg.addRecipient(Message.RecipientType.TO, new InternetAddress(to[i]));
                              }
                              for(int i=0;i<cc.length;i++){
                  msg.addRecipient(Message.RecipientType.CC, new InternetAddress(cc[i]));
                              }
                              for(int i=0;i<bcc.length;i++){
                  msg.addRecipient(Message.RecipientType.BCC, new InternetAddress(bcc[i]));
                              }
                  msg.saveChanges();
                              Transport transport = session.getTransport("smtp");
                              transport.connect(host, userName, passWord);
                              transport.sendMessage(msg, msg.getAllRecipients());
                              transport.close();
                              return true;
              }
              catch (Exception mex)
              {
                  mex.printStackTrace();
                              return false;
              }
              }
      
      }
      

      【讨论】:

        猜你喜欢
        • 2010-10-17
        • 2016-09-07
        • 2018-06-25
        • 1970-01-01
        相关资源
        最近更新 更多