Properties props;
final String appname = "App Name";
String email = "xxx@gmail.com";
String password = "*#";
try {
props = new java.util.Properties();
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.port", "587");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.ssl.trust", "smtp.gmail.com");
// Session session = Session.getDefaultInstance(props, null);
Session session = Session.getInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(email, password);
}
});
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(email));
msg.setRecipient(Message.RecipientType.TO, new InternetAddress(email));
msg.setSubject("Errors Log File - " + appname);
MimeBodyPart textBodyPart = new MimeBodyPart();
textBodyPart.setText("New errors log.");
MimeBodyPart attachmentBodyPart = new MimeBodyPart();
DataSource source = new FileDataSource(lblURI.getText()); // ex : "C:\\test.pdf"
attachmentBodyPart.setDataHandler(new DataHandler(source));
attachmentBodyPart.setFileName(source.getName()); // ex : "test.pdf"
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(textBodyPart); // add the text part
multipart.addBodyPart(attachmentBodyPart); // add the attachement part
msg.setContent(multipart);
Transport.send(msg);
Util.getUtil().setCursorDefault(rootPane);
JOptionPane.showMessageDialog(rootPane, "Successfully sent the error message report.", "Alert.", JOptionPane.INFORMATION_MESSAGE);
this.dispose();
/*
https://hellokoding.com/sending-email-through-gmail-smtp-server-with-java-mail-api-and-oauth-2-authorization/
*/
} catch (Exception e) {
Util.getUtil().setCursorDefault(rootPane);
e.printStackTrace();
if (e.getMessage().toString().contains("Unknown SMTP host")) {
LogFile.log(getClass().getName(), "btnSendActionPerformed", "Connection issue.\nPlease check the internet connection.", rootPane);
} else if (e.getMessage().toString().contains("Username")) {
LogFile.log(getClass().getName(), "btnSendActionPerformed", "Invalid username password combination.\nCheck again.", rootPane);
} else {
LogFile.log(getClass().getName(), "btnSendActionPerformed", e.getMessage().toString(), rootPane);
}
}
}
Pages
- Home
- Java JasperReport Print JTable Content
- iReport 5.6 Install On MacOS
- PHP Pager
- Java JLable Set Image
- Java Read XML Settings File
- Apple MacOS High Sierra Installation Errors
- Java Read Directory Content
- MySQL Inner Join
- WinRAR Super Compression
- Install Windows 10 from a USB Flash Drive
- Java Classpath Directory
- Java Class To Keep Some Static Variables As A Simp...
- Java Copy Paste
- Java Change Cusor
- Java Read File In To Text Area
- Java Open Any Directory
- Java Open Current Directory
- Java Regex Address
- Java Regex Email
- Java Regex Letters
- Java Regex Name
- Java Text Is Not Empty
- Java Regex AlphaNumeric
- Java Regex Numeric
- Java Combo Box Auto Complete
- Java jFrame Icon
- Java Layout Align Center
- Java JTable Quick Load Heavy Data With Handler Cla...
- Java JTable Column Text Align
- Java JTable Remove Table Headers
- Java JTable Renderer
- Java JTable Search Filter
- Java Log File Writer
- Java MD5 Of A File
- Java MD5 Of A String
- Java BigDecimal
- Java Comma Seperated Numbers
- Java JPasswordField Text Read
- Java Text Fields Auto Select All On Focus
- Java Time As 12h
- Java Time As 24h
- Java Time Current Time Stamp
- Java Util Class
- Java View Pdf
- Java JFrame Maximize
- Java Xml Read With Dom4j
- Java MySQL JDBC Basic Class
- Java MySQL Backup Local
- Java MySQL Backup Online To DropBox API v2
- Java JasperReport Print Directly Without View
- Java JasperReport Print Long Bills With Virtualize...
- Java JasperReport Export To PDF
- Java JasperReport Export To Excel
- Java JasperReport Using All Features
- Java GMail Send Attachment
- MySQL Return 0 If No Data
- Center Aligned JPanel
- Java Splash/Loading Screen
Subscribe to:
Posts (Atom)
No comments:
Post a Comment