我无法通过JavaMail API发送邮件 这是代码:
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 = "no-reply@baguette.ga";
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)
这个spamhaus IP块是什么意思,我该如何删除它?我正试图通过我的主机发送邮件http://www.freewebhostingnoads.net为什么我一直被阻止?
答案 0 :(得分:2)
有人使用您的IP地址,也许是您的网络托管服务上该IP地址的先前用户,被认为是在发送垃圾邮件。按照错误消息中的链接,它将告诉您该怎么做。如果您使用的是动态IP地址,则可能需要切换到静态IP地址。