jsp 邮件群发 程序代码

jsp 邮件群发 程序代码
public static boolean sendMail(String subject,String body,String to,String content,Address[] ValidUnsentAddresses,boolean isReSend) {
  logger.info("始发送邮件*");
  boolean result=false;
  try {
   Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());

   // Get a Properties object
   Properties props = System.getProperties();
   props.setProperty("mail.smtp.host", STMT_SERVER);//
   props.setProperty("mail.transport.protocol", "smtp");// -
   // props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);
   props.setProperty("mail.smtp.socketFactory.fallback", "false");
   props.setProperty("mail.smtp.port", PORT);/
   props.setProperty("mail.smtp.socketFactory.port", PORT);
   props.put("mail.smtp.auth", "true");
  
   final String username = USERNAME;
   final String password = PASSWORD;
  
   Session session = Session.getDefaultInstance(props,
     new Authenticator() {
      protected PasswordAuthentication getPasswordAuthentication() {
       return new PasswordAuthentication(username,
         password);
      }
     });
 
   session.setDebug(true);
   Transport transport = session.getTransport("smtp");
   Message msg = new MimeMessage(session);
 
   if(ValidUnsentAddresses==null){
    List list=new ArrayList();;
   
    String[] gods=to.split(",");
    for (int i = 0; i < gods.length; i++) {
     try {
      if(gods[i]!=null && !"".equals(gods[i])&&SendMailManager.checkEmail(gods[i])){
       list.add(new InternetAddress(gods[i]));
      }    
     } catch (AddressException e) {
      logger.error(SendMailManager.class.getName()+"  :"+e.getMessage());  
      e.printStackTrace();
     }
    }
    // ----------
    InternetAddress[] address = (InternetAddress[])list.toArray(new InternetAddress[list.size()]);
    msg.setRecipients(Message.RecipientType.BCC, address);
   }else{
    msg.setRecipients(Message.RecipientType.BCC, ValidUnsentAddresses);
   }
  
  
   msg.setFrom(new InternetAddress(USER_EMAIL));
  
   msg.setSubject(subject);
  
   msg.setSentDate(new Date());
  
  
   if(body!=null&&!"".equals(body)){
    MimeMultipart mp = new MimeMultipart();
    MimeBodyPart bp = new MimeBodyPart();
    bp.setContent(body, "text/html;charset=utf-8");
    mp.addBodyPart(bp);
    msg.setContent(mp);
   }else if(!"".equals(content)){
    msg.setText(content);
           }
                            msg.saveChanges();
   transport.connect((String) props.get("mail.smtp.host"),USER_EMAIL, password);
   transport.sendMessage(msg, msg.getRecipients(Message.RecipientType.BCC));
   transport.close();
   result=true;
   System.out.println("邮件已发送成功!");
  
  } catch (SendFailedException e) {
   try {
    Thread.currentThread().sleep(10000);
   } catch (InterruptedException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
   }
   if(e.getValidUnsentAddresses()!=null && isReSend){
   
    sendMail(subject,body,"",content,e.getValidUnsentAddresses(),false);

   }
  
  }catch (MessagingException e) {
   result=false;
   System.out.println("邮件已发失败!");
   logger.error(SendMailManager.class.getName()+"  :"+e.getMessage());
   e.printStackTrace();
  }finally{
   //System.out.println(new Date().toLocaleString()+"连接smtp一次");
  }
  return result;
 }
外部js 调用方法

sendMail(subject,body,to,content,null,true);

时间: 2024-09-25 15:25:56

jsp 邮件群发 程序代码的相关文章

access代码-求这个邮件群发的代码,部分代码如下

问题描述 求这个邮件群发的代码,部分代码如下 Function Printf(ByVal theFormat As String,ParamArray Values())As Dim ResultString As String Dim Element As Variant Dim FormatLocation As Long If IsEmpty(Values()) Then 'raise an error End if ResultString= theFormat For Each Ele

JSP的login程序代码_JSP编程

JSP的login程序代码 <!-- Login Manager --><JAVA TYPE="class"> public static boolean checkUserPermission(HttpSession mySession, HttpServletRequest request, HttpServletResponse response){if (mySession.getValue("hasPermission") == n

一段邮件接收程序代码

问题描述 大家好,我的这段代码是用c#实现的基于POP3协议的邮件接收程序的网络编程.现在其中的一个功能是完成"把邮件服务器设置成pop.sina.com,在输入用户名和密码后,单击连接按钮来与服务器进行连接"但是当我单击了之后,却没有反映,这是怎么回事啊,大家帮我看看这段代码,看看问题出在哪里? privatevoidConnect_Click(objectsender,EventArgse){//将光标置为等待状态Cursorcr=Cursor.Current;Cursor.Current=

JavaMail实现email邮件发送程序代码

JavaMail 的基础知识使用JavaMail 是发送电子邮件所需要的组件. JavaMail 的机构使处理电子邮件非常容易.下面列出了一些我们需要的类: 1.Properties JavaMail 需要Properties 来创建一个session 对象.它将寻找字符串"mail.smtp.host",属性值就是发送邮件的主机,如: Properties props = new Properties (); props.put("mail.smtp.host",

JSP的login程序代码

js|程序 <!-- Login Manager --> <JAVA TYPE="class"> public static boolean checkUserPermission(HttpSession mySession, HttpServletRequest request, HttpServletResponse response) { if (mySession.getValue("hasPermission") == null |

php 邮件发送程序代码(支持附件)(1/2)

*/ require_once ('common/email.class.php');  代码如下 复制代码 //这里以smiley_face@126.com邮箱为例,使用者需要自己修改 $smtps教程erver = "smtp.126.com";//smtp服务器 $smtpserverport =25;//smtp服务器端口 $smtpusermail = "smiley_face@126.com";//smtp服务器的用户邮箱 $smtpuser = &qu

php smtp邮件群发程序源代码

<?php /** *通过phpmailer发送qq邮件 *@author ray *@since 2009-08-07 */ define('__DEBUG__', false); define('__PSW_FILE__', dirname(__FILE__) . '/smtp.dat'); define('SLEEPING_EMAIL', dirname(__FILE__) . "/sleepMail.dat");//休眠的email define('SLEEPING_TI

asp 邮件发送程序代码

'**************************************************** '函数名:SendMail '作  用:用Jmail组件发送邮件 '参  数:ServerAddress  ----服务器地址 '        AddRecipient  ----收信人地址 '        Subject       ----主题 '        Body          ----信件内容 '        Sender        ----发信人地址 '***

谁有邮件群发的现成代码啊?求助

问题描述 新手在做邮件群发,怎么也不会.希望会的人帮帮忙·! 解决方案 解决方案二:这里有发邮件的代码,群发就加个循环调用就可以了解决方案三:迩用什么技术.框架开发的呀,迩也没要求就一个实现邮件群发,建议迩可以上google搜索答案------一片一片的!解决方案四:我用struts框架开发的在网上下了几个程序,都是缺少包现在想看看有没有做过的,能给个现成程序的我可以直接用的解决方案五:跟框架有多大关系,写个函数能发邮件就行了,然后循环调用.当然,你用的邮件服务器也的让你这么循环.