我需要使用 Gmail 作为 SMTP 服务器从我的应用程序发送电子邮件。这是我的邮件连接器类,我在单独的属性文件中设置了值
public class EmailConnector {
public static Session sessionCreate() {
final String fromEmail = ConfigurationManager.getInstance().getProperty(EmailConfig.SENDER_EMAIL.toString());
final String password = ConfigurationManager.getInstance().getProperty(EmailConfig.SENDER_PASSWORD.toString());
Properties props = new Properties();
props.put("mail.smtp.host", ConfigurationManager.getInstance().getProperty(EmailConfig.SMTP_HOST.toString()));
props.put("mail.smtp.socketFactory.port",
ConfigurationManager.getInstance().getProperty(EmailConfig.SSL_PORT.toString()));
props.put("mail.smtp.socketFactory.class",
ConfigurationManager.getInstance().getProperty(EmailConfig.SSL_FACTORY_CLASS.toString()));
props.put("mail.smtp.auth",
ConfigurationManager.getInstance().getProperty(EmailConfig.SMTP_AUTHENTICATION.toString()));
props.put("mail.smtp.port", ConfigurationManager.getInstance().getProperty(EmailConfig.SMTP_PORT.toString()));
Authenticator auth = new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(fromEmail, password);
}
};
return Session.getDefaultInstance(props, auth);
}
}
Run Code Online (Sandbox Code Playgroud)
特性:
#Email send configuration
SENDER_EMAIL = abcalerts@gmail.com
SENDER_PASSWORD = abcalert321
SMTP_HOST = smtp.gmail.com
SSL_PORT = 465
SMTP_AUTHENTICATION = true …Run Code Online (Sandbox Code Playgroud)