[英]Can't send any mail using JavaMail
我想使用Java發送郵件,但是在本教程http://www.tutorialspoint.com/java/java_sending_email.htm上無法正常使用。
這是我的主要方法
public static void main(String[] args) {
// Recipient's email ID needs to be mentioned.
String to = "abcd@gmail.com";
// Sender's email ID needs to be mentioned
String from = "web@gmail.com";
// Assuming you are sending email from localhost
String host = "localhost";
// Get system properties
Properties properties = System.getProperties();
// Setup mail server
properties.setProperty("smtp.laposte.net", host);
// Get the default Session object.
Session session = Session.getDefaultInstance(properties);
try{
// Create a default MimeMessage object.
MimeMessage message = new MimeMessage(session);
// Set From: header field of the header.
message.setFrom(new InternetAddress(from));
// Set To: header field of the header.
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
// Set Subject: header field
message.setSubject("This is the Subject Line!");
// Now set the actual message
message.setText("This is actual message");
// Send message
Transport.send(message);
System.out.println("Sent message successfully....");
}catch (MessagingException mex) {
mex.printStackTrace();
}
}
我有下面的錯誤:
javax.mail.MessagingException:無法連接到SMTP主機:localhost,端口:25; 嵌套的異常是:java.net.ConnectException:拒絕連接:在com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java :)上的com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1972)連接642)在javax.mail.Service.connect(Service.java:295)在javax.mail.Service.connect(Service.java:176)在javax.mail.Service.connect(Service.java:125)在javax。 mail.Transport.send0(Transport.java:194)(位於javax.mail.Transport.send(Transport.java:124)(位於javamail.JavaMail.main(JavaMail.java:58)))原因:java.net.ConnectException:Connection拒絕:在java.net處的java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)處的java.net.DualStackPlainSocketImpl.connect0(本機方法)處進行連接。在Java.net處進行連接。 java.net上的AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)java.net.PlainSocketImpl.connec上的AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) 在java.net.Socket.connect(Socket.java)上的java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)上的t(PlainSocketImpl.java:172)在java.net.Socket.connect(Socket.java:589)處:538.com.com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:319)com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:233)com.sun.mail.smtp。 SMTPTransport.openServer(SMTPTransport.java:1938)...另外7個BUILD SUCCESSFUL(總時間:1秒)
主機使用錯誤
host="smtp.gmail.com";
如果您使用的是Gmail ID發送郵件。 那么您需要打開gmail從extrnel應用程序為用戶發送郵件。 請按照以下鏈接https://support.google.com/a/answer/57919?hl=zh-CN打開,然后重試。
您還可以使用spring發送郵件。
bean.xml
<bean id="myMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="smtp.gmail.com" />
<property name="port" value="587" />
<property name="username" value="<user_name>" />
<property name="password" value="<password>" />
<!-- The name of the property, following JavaBean naming conventions -->
<property name="javaMailProperties">
<props>
<prop key="mail.transport.protocol">smtp</prop>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.starttls.enable">true</prop>
<prop key="mail.debug">true</prop>
</props>
</property>
</bean>
。
@Service("myMail")
public class myMailApi {
@Autowired
private MailSender myMailSender;
public void sendMail(String to,String from,String subject, String body){
SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
simpleMailMessage.setTo(to);
simpleMailMessage.setFrom(from);
simpleMailMessage.setSubject(subject);
simpleMailMessage.setText(body);
myMailSender.send(simpleMailMessage);
}
}
private static void sendMailClient() {
String mailXml = "mail-bean.xml";
ApplicationContext context = new ClassPathXmlApplicationContext(mailXml);
myMailApi mailBean = (mmyMailApi) context
.getBean("myMail");
mailBean.sendMail("<to>",
"<from>", "<subject>", "<body>");
}
我可以使用哪個服務器在沒有帳戶的情況下發送電子郵件並登錄Java Mail api? Hotmail是否可以在不登錄Java郵件的情況下自動發送電子郵件?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.