【发布时间】:2014-08-02 13:19:20
【问题描述】:
我正在尝试在运行远程服务器时使用 Java 发送电子邮件。这是我的代码:
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
//import javax.activation.*;
public class Email {
private static String SMPT_HOSTNAME = "smtp.mtnl.net.in";
private static String USERNAME = "20870134";
private static String PASSWORD = "2070252342";
public static void main(String[] args) {
// Recipient's email ID needs to be mentioned.
String to = "katha4494@gmail.com";
// Sender's email ID needs to be mentioned
String from = "safepassw0rd@gmail.com";
// Assuming you are sending email from localhost
// String host = "localhost";
// Get system properties
Properties properties = System.getProperties();
// Setup mail server
properties.setProperty("mail.smtp.host", SMPT_HOSTNAME);
// Get the default Session object.
// Session session = Session.getDefaultInstance(properties);
// create a session with an Authenticator
Session session = Session.getInstance(properties, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(USERNAME, PASSWORD);
}
});
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");
System.out.println("Sending message ....");
// Send message
Transport.send(message);
System.out.println("Sent message successfully....");
} catch (MessagingException mex) {
mex.printStackTrace();
}
}
我收到以下错误:
Sending message ....
javax.mail.MessagingException: [EOF]
at com.sun.mail.smtp.SMTPTransport.issueCommand(SMTPTransport.java:1481)
at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1512)
at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1054)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:634)
at javax.mail.Transport.send0(Transport.java:189)
at javax.mail.Transport.send(Transport.java:118)
at SendEmail.Email.main(Email.java:61)
我从我的 ISP 获得了服务器主机名、用户名和密码。我是 Java 网络的新手,我不明白哪里出了问题。请帮忙。
【问题讨论】:
-
你添加了smtp端口吗??
-
@user3145373ツ 我该怎么做?
标签: java email exception networking smtp