Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java邮件发送日期设置不正确_Java_Email - Fatal编程技术网

java邮件发送日期设置不正确

java邮件发送日期设置不正确,java,email,Java,Email,我可以在java Web应用程序中发送邮件,它工作正常,但发送日期设置不正确,例如,它是提前18小时设置的 如果我们在2015年8月27日10:00:00发送邮件,邮件会立即到达,但发送日期设置为2015年8月28日03:00:00,如下所示 下面是我的java代码 public void sendMail(String subject, String body, String recipients, String cc) { try { String instructi

我可以在java Web应用程序中发送邮件,它工作正常,但发送日期设置不正确,例如,它是提前18小时设置的

如果我们在2015年8月27日10:00:00发送邮件,邮件会立即到达,但发送日期设置为2015年8月28日03:00:00,如下所示

下面是我的java代码

 public void sendMail(String subject, String body, String recipients, String cc)    {
 try {
       String instructions = "<br><br><br>This is an auto generated mail. Kindly do not reply to this mail. Any reply to this mail will not be monitored or entertained.";
        Properties props = System.getProperties();
        props.setProperty("mail.transport.protocol", "smtp");
        props.setProperty("mail.host", "smtpout.secureserver.net");
        props.put("mail.smtp.auth", "true");
        props.setProperty("mail.user", "user");
        props.setProperty("mail.password", "password");
        Session mailSession = Session.getDefaultInstance(props, null);
        mailSession.setDebug(true);
        body += instructions;
        Transport transport = mailSession.getTransport("smtp");
        MimeMessage message = new MimeMessage(mailSession);
        message.setFrom(new InternetAddress("guruprasad.n@clss.in"));

        message.setSubject(subject);
        message.setContent(body, "text/html");
//            SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss a");
//            Date dateInString = new Date();
//            // To TimeZone Asia/Calcutta
//            SimpleDateFormat sdfAsia = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss a");
//            TimeZone tzInAsia = TimeZone.getTimeZone("Asia/Calcutta");
//            sdfAsia.setTimeZone(tzInAsia);
//
//            String sDateInAsia = sdfAsia.format(dateInString); // Convert to String first
//            Date dateInAsia = formatter.parse(sDateInAsia);
            message.setSentDate(new Date());


            if (recipients.indexOf(',') > 0) {
            message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipients));
        } else {
            message.setRecipient(Message.RecipientType.TO, new InternetAddress(recipients));
        }
        if (!cc.isEmpty()) {
            if (cc.indexOf(',') > 0) {
                message.setRecipients(Message.RecipientType.CC, InternetAddress.parse(cc));
            } else {
                message.setRecipient(Message.RecipientType.CC, new InternetAddress(cc));
            }
        }
        MimeMultipart multipart = new MimeMultipart("related");
        BodyPart messageBodyPart = new MimeBodyPart();
        messageBodyPart.setContent(body, "text/html");

        multipart.addBodyPart(messageBodyPart);
        message.setContent(multipart);

        transport.connect("smtpout.secureserver.net", "user", "password");
        transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO));
        if (!cc.isEmpty()) {
            transport.sendMessage(message, message.getRecipients(Message.RecipientType.CC));
        }

        transport.close();
    } catch (Exception ex) {
//            ex.printStackTrace();
        }
    }
public void sendMail(字符串主题、字符串正文、字符串收件人、字符串抄送){
试一试{
String instructions=“


这是一封自动生成的邮件。请勿回复此邮件。对此邮件的任何回复都不会被监视或接受。”; Properties props=System.getProperties(); props.setProperty(“mail.transport.protocol”、“smtp”); props.setProperty(“mail.host”、“smtpout.secureserver.net”); props.put(“mail.smtp.auth”,“true”); props.setProperty(“mail.user”、“user”); props.setProperty(“mail.password”、“password”); Session mailSession=Session.getDefaultInstance(props,null); mailSession.setDebug(true); 正文+=指令; 传输=mailSession.getTransport(“smtp”); mimessage message=新mimessage(mailSession); message.setFrom(新的InternetAddress(“guruprasad”)。n@clss.in")); message.setSubject(主题); message.setContent(正文,“text/html”); //SimpleDataFormat格式化程序=新的SimpleDataFormat(“dd-MM-yyyy-hh:MM:ss-a”); //Date dateInString=新日期(); ////前往亚洲时区/加尔各答 //SimpleDataFormat sdfAsia=新的SimpleDataFormat(“dd-MM-yyyy-hh:MM:ss a”); //时区tzInAsia=时区.getTimeZone(“亚洲/加尔各答”); //设置时区(tzInAsia); // //字符串sDateInAsia=sdfAsia.format(dateInString);//首先转换为字符串 //Date dateInAsia=formatter.parse(sDateInAsia); message.setSentDate(新日期()); if(recipients.indexOf(',')>0){ message.setRecipients(message.RecipientType.TO,InternetAddress.parse(recipients)); }否则{ message.setRecipient(message.RecipientType.TO,新的InternetAddress(recipients)); } 如果(!cc.isEmpty()){ 如果(cc.indexOf(',')>0){ setRecipients(message.RecipientType.CC,InternetAddress.parse(CC)); }否则{ message.setRecipient(message.RecipientType.CC,新Internet地址(CC)); } } MimMultipart multipart=新的MimMultipart(“相关”); BodyPart messageBodyPart=新的MimeBodyPart(); setContent(body,“text/html”); multipart.addBodyPart(messageBodyPart); message.setContent(多部分); transport.connect(“smtpout.secureserver.net”、“用户”、“密码”); transport.sendMessage(message,message.getRecipients(message.RecipientType.TO)); 如果(!cc.isEmpty()){ transport.sendMessage(message,message.getRecipients(message.RecipientType.CC)); } transport.close(); }捕获(例外情况除外){ //例如printStackTrace(); } }
我也可以使用亚洲时区,但它不工作,请帮助我


谢谢

问题很可能出在您的邮件服务器时区上

smtpout.secureserver.net


您已按本地时区设置了SendDate,但您的服务器可能位于另一个时区,并且它会重置/修改时间(假设正在更正时间)。

请参阅此相关信息,原因/解决方法是否相同?发送方和接收方位于不同的时区?您应该在不设置任何dateTest的情况下使用不同的主机服务器进行一次尝试。