首頁  >  問答  >  主體

用Java写发送邮件的程序,经常被当做垃圾邮件处理怎么解决

 sendMail(String receiver,String content){
       Properties properties=new Properties();
       properties.setProperty("mail.smtp.auth","true");
       properties.setProperty("mail.transport.protocol","smtp");
       properties.setProperty("mail.host","smtp.163.com");
       
       Session session =Session.getInstance(properties,new Authenticator(){
             protected PasswordAuthentication getPasswordAuthentication() {
             return new PasswordAuthentication("*********163.com","*******");
               }
          }
       );
      
      Message message=new MimeMessage(session);
try {
      message.setFrom(new InternetAddress("*********”@163.com"));
    } catch (AddressException e) {
      return "邮箱的登录失败,请检查你的账户密码是否正确!";
    } catch (MessagingException e) {
      return "你的账户异常,请重新发送!";
    }

try {
      message.addRecipients(RecipientType.TO,InternetAddress.parse(receiver));
      message.setSubject("MachineEye");
      message.setText(content);
    } catch (AddressException e1) {
      return "收件人账户信息不正确!";
    } catch (MessagingException e1) {
      return "收件人账户异常!";
    }
    
try {
      Transport.send(message);
    } catch (MessagingException e) {
      return "邮件发送失败";
    }
return "发送成功!";
}
PHPzPHPz2744 天前705

全部回覆(3)我來回復

  • PHP中文网

    PHP中文网2017-04-18 10:50:04

    ....不管你用什麼語言寫,你郵箱本身的合法性,權威性, 不被認可,你的內容稍稍不對,或者被人舉報,就很容易進入垃圾郵箱。

    回覆
    0
  • 迷茫

    迷茫2017-04-18 10:50:04

    首先,跟語言沒有關係。

    1..要聲明郵件地址和頭資訊(msg.Headers.Add("X-Mailer", "Microsoft Outlook Express 6.00.2900.2869"); 披上outlook的馬甲)

    3.特殊情況,就是可能有些伺服器在你已經披上合法的馬甲後還是會當作垃圾郵箱處理,如網易,那是因為你的郵件內容可能存在一些,敏感的字眼,或者違法的信息導致的。

    回覆
    0
  • 阿神

    阿神2017-04-18 10:50:04

    看phpmailer我記得要設定一些東西,好像是啥SASL驗證機制,其他就不清楚了

    回覆
    0
  • 取消回覆