2016-04-27 9 views
-1

でSMTPを使ってメールを送信できないボタンは他の機能とうまく動作しますJavaFXの

SMTPこのためのコード

package application; 
import java.util.Properties; 

import javax.mail.Message; 
import javax.mail.MessagingException; 
import javax.mail.PasswordAuthentication; 
import javax.mail.Session; 
import javax.mail.Transport; 
import javax.mail.internet.InternetAddress; 
import javax.mail.internet.MimeMessage; 
import javax.swing.JOptionPane; 

public class EmailController { 
    String reciever; 
    String subj; 
    String con; 
    final String username; 
    final String password; 
    String from; 
    String host; 
    String put_auth; 
    String put_ttls; 
    String put_host; 
    String put_port; 
    public EmailController(){ 
     username="username"; 
     password="passwrd"; 
     from="example"; 
     host="smtp.gmail.com"; 
     reciever="reciever_example"; 
     subj="Subject"; 
     con="Content"; 
     put_auth="mail.smtp.auth"; 
     put_ttls="mail.smtp.strarttls.enable"; 
     put_host="mail.smtp.host"; 
     put_port="mail.smtp.port"; 
    } 
    public void send() 
    { 

     Properties props=new Properties(); 
     props.put(put_auth, "true"); 
     props.put(put_ttls, "true"); 
     props.put(put_host, host); 
     props.put(put_port, "587"); 

     Session session=Session.getInstance(props,new javax.mail.Authenticator() { 
      protected PasswordAuthentication getPasswordAuthentication() { 
       return new PasswordAuthentication(username,password); 
      } 
     }); 
     try { 
      Message message=new MimeMessage(session); 
      message.setFrom(new InternetAddress(from)); 
      message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(reciever)); 
      message.setSubject(subj); 
      message.setText(con); 
      Transport.send(message); 
      JOptionPane.showMessageDialog(null, "Done"); 
     }catch (MessagingException e) { 
      throw new RuntimeException(e); 
     } 
    } 
} 

コントローラクラスコードに#onAction機能

public void send_Email(){ 
    sendm.send();  //sendm is an object from class EmailController 
} 

FXMLコードしかしトンだけ

<?xml version="1.0" encoding="UTF-8"?> 

<?import javafx.scene.control.Button?> 
<?import javafx.scene.layout.AnchorPane?> 

<AnchorPane prefHeight="557.0" prefWidth="604.0" xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.Heart"> 
    <children> 
     <Button layoutX="88.0" layoutY="307.0" mnemonicParsing="false" onAction="#send_Email" prefHeight="26.0" prefWidth="356.0" text="Send email" /> 
    </children> 
</AnchorPane> 

答えて

0

私はそれを固定している、私はちょうど

 put_ttls="mail.smtp.strarttls.enable"; 

ラインで間違ったSTARTTLSを書いたので、私は

put_ttls="mail.smtp.starttls.enable"; 
に変更しています
関連する問題