私のJavaプログラムのトラフgoogleのsmtpサーバーでメールを送信したいが、それはメールを送信するには固執しているようだ。誰かが私になぜplsを教えてもらえますか?java mail gmail
これは、メールを送信する機能である:
public void sendMail(){
String from = "[email protected]";
String to = "[email protected]";
String subject = "Test";
String message = "A test message";
SendMail sendMail = new SendMail(from, to, subject, message);
sendMail.send();
}
そして、これは事前に
public class SendMail {
private String from;
private String to;
private String subject;
private String text;
public SendMail(String from, String to, String subject, String text){
this.from = from;
this.to = to;
this.subject = subject;
this.text = text;
}
public void send(){
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.auth", "true");
props.setProperty("mail.smtp.port", "587");
props.put("mail.smtp.starttls.enable", "true");
Session session = Session.getDefaultInstance(props);
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(from, "MyPasswordGoesHere");
}
};
try {
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject(subject);
message.setText(text);
Transport.send(message);
System.out.println("message sent successfully");
} catch (MessagingException e) {
throw new RuntimeException(e);
}
}
}
おかげクラスです!私はこのコードを使用することによってそれを解決し
¿何かエラーが発生するのですか、それとも不平を言って終了しますか?クライアントが何をするかを見るためにSMTP上でデバッグを設定してください。 – Alfabravo
これをチェックすると、あなたを助けるかもしれません... http://www.javabeat.net/2007/10/sending-mail-from-java/ – NoNaMe
@sf shah私は例としてこれを使用しました それを終了しません単に "Transport.send(message);行でハングします – Nick