2012-09-11 14 views
5

私の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); 
    } 
     } 
     } 

おかげクラスです!私はこのコードを使用することによってそれを解決し

+0

¿何かエラーが発生するのですか、それとも不平を言って終了しますか?クライアントが何をするかを見るためにSMTP上でデバッグを設定してください。 – Alfabravo

+0

これをチェックすると、あなたを助けるかもしれません... http://www.javabeat.net/2007/10/sending-mail-from-java/ – NoNaMe

+0

@sf shah私は例としてこれを使用しました それを終了しません単に "Transport.send(message);行でハングします – Nick

答えて

0

、私はGmailのSMTPサーバー上のJavaと電子メールメッセージを送信するので例示してみました。ここに2つのサンプルコードがあります。一方はJava Mail APIを使用し、もう一方はApache Commons Mailライブラリを利用します。