2015-09-26 90 views
0

我无法通过的JavaMail API 该按钮,发送邮件是代码:客户端主机 - JavaMail的

package my.eliank.lgg.robots; 

import java.time.LocalDateTime; 
import java.util.Properties; 

import javax.mail.Message; 
import javax.mail.MessagingException; 
import javax.mail.Session; 
import javax.mail.Transport; 
import javax.mail.internet.InternetAddress; 
import javax.mail.internet.MimeMessage; 

import my.eliank.lgg.MainFrame; 

    public class MailBot { 

     private String sender; 
     private String host; 
     private Properties properties; 
     private Session session; 

     public MailBot() { 
      sender = "[email protected]"; 
      host = "mx1.freehostingnoads.net"; 
      properties = System.getProperties(); 
      properties.setProperty("mail.smtp.host", host); 
      properties.setProperty("mail.smtp.port", "2525"); 
      properties.setProperty("mail.smtp.user", "user"); 
      properties.setProperty("mail.smtp.password", "password"); 
      session = Session.getDefaultInstance(properties); 
     } 

     public void sendMail(String recipient) { 
      try { 
       MimeMessage message = new MimeMessage(session); 
       message.setFrom(new InternetAddress(sender)); 
       message.addRecipient(Message.RecipientType.TO, new InternetAddress(recipient)); 
       message.setSubject("Lotto numbers generation @" + LocalDateTime.now().toString().substring(0, 10)); 
       message.setText(MainFrame.textAreaOutput.getText()); 

       Transport.send(message); 
       System.out.println("Message was successfully sent"); 
      } catch (MessagingException e) { 
       e.printStackTrace(); 
      } 
     } 

    } 

的问题是,每当我试图通过主机发送一个邮件 我得到这个例外:

javax.mail.SendFailedException: Invalid Addresses; 
    nested exception is: 
    com.sun.mail.smtp.SMTPAddressFailedException: 554 5.7.1 Service unavailable; Client host [79.177.150.73] blocked using zen.spamhaus.org; http://www.spamhaus.org/query/bl?ip=79.177.150.73 

    at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1873) 
    at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1120) 
    at javax.mail.Transport.send0(Transport.java:195) 
    at javax.mail.Transport.send(Transport.java:124) 
    at my.eliank.lgg.robots.MailBot.sendMail(MailBot.java:41) 
    at my.eliank.lgg.MainFrame$2.actionPerformed(MainFrame.java:108) 
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) 
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) 
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) 
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source) 
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) 
    at java.awt.Component.processMouseEvent(Unknown Source) 
    at javax.swing.JComponent.processMouseEvent(Unknown Source) 
    at java.awt.Component.processEvent(Unknown Source) 
    at java.awt.Container.processEvent(Unknown Source) 
    at java.awt.Component.dispatchEventImpl(Unknown Source) 
    at java.awt.Container.dispatchEventImpl(Unknown Source) 
    at java.awt.Component.dispatchEvent(Unknown Source) 
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) 
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) 
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) 
    at java.awt.Container.dispatchEventImpl(Unknown Source) 
    at java.awt.Window.dispatchEventImpl(Unknown Source) 
    at java.awt.Component.dispatchEvent(Unknown Source) 
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source) 
    at java.awt.EventQueue.access$500(Unknown Source) 
    at java.awt.EventQueue$3.run(Unknown Source) 
    at java.awt.EventQueue$3.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) 
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) 
    at java.awt.EventQueue$4.run(Unknown Source) 
    at java.awt.EventQueue$4.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) 
    at java.awt.EventQueue.dispatchEvent(Unknown Source) 
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
    at java.awt.EventDispatchThread.run(Unknown Source) 

这垃圾邮件IP块是什么意思,我该如何删除它?我正试图通过我的主人发送一封邮件,号码为http://www.freewebhostingnoads.net,为什么我一直被阻止?

+0

我投票结束这个问题作为题外话,因为它是关于电子邮件的产能,而不是编程。 – tripleee

+0

我一开始以为我的代码存在问题,看起来原因是不同的,它的目的是成为一个编程问题。我同意,它成为脱离主题,应该被关闭。 (但为什么要低调呢?这是一个合法的问题) –

+0

如果你同意这是题外话,你怎么还说它是合法的?尽管此类问题不属于主题,但这种类型的问题在这里大量复制,因此downvoting有助于保持网站清洁(带有否定投票的封闭问题可以删除)。如果您想进一步讨论,请邀请您在https://meta.stackoverflow.com/上单独打开一个问题。 – tripleee

回答

2

有人使用您的IP地址,也许该网站托管服务上该IP地址的以前用户,被认为是发送垃圾邮件。按照错误消息中的链接,它会告诉你该怎么做。如果您使用动态IP地址,则可能需要切换到静态IP地址。

+0

我没有看到它为什么会这样做的原因,当我通过Gmail的SMTP发送邮件时,它工作得很好,但我无法通过主机发送邮件,除此之外,链接还导致我拥有阻止所有动态IP地址的spamhaus在PBL列表下,所以我不明白它为什么可以与GMail一起工作,并且不适用于我使用的主机。 –

+0

不同的服务器使用不同的规则来决定阻止什么。 –

+0

然后我假设我尝试连接的服务器阻止我的托管网站的服务器作为反垃圾邮件测量,如果情况不是这样,我可以做的事情可能不多,也许切换到更可信的托管站点,不会受到大型免费邮件提供商的阻止,或者启动我自己的服务器以使其工作,同时我会使用Gmail的SMTP服务,感谢您的帮助。 –

相关问题