aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/notification
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2016-11-30 23:14:14 +1300
committerGitHub <noreply@github.com>2016-11-30 23:14:14 +1300
commit3d25b6c29ad346120f1fecbe7130800da417bc41 (patch)
tree9a58b8c14df8aebf0952236a4a2a5e91d9621b52 /src/org/traccar/notification
parent963adbba43d2849c968da85e51112f834b550f8d (diff)
parentc2d479e2acfa4f89b01d80ca902938dc2e37c1b6 (diff)
downloadtrackermap-server-3d25b6c29ad346120f1fecbe7130800da417bc41.tar.gz
trackermap-server-3d25b6c29ad346120f1fecbe7130800da417bc41.tar.bz2
trackermap-server-3d25b6c29ad346120f1fecbe7130800da417bc41.zip
Merge pull request #2619 from Abyss777/test_mail
Implement API to test mail
Diffstat (limited to 'src/org/traccar/notification')
-rw-r--r--src/org/traccar/notification/NotificationMail.java63
1 files changed, 31 insertions, 32 deletions
diff --git a/src/org/traccar/notification/NotificationMail.java b/src/org/traccar/notification/NotificationMail.java
index c7c1d689c..17e4d6be4 100644
--- a/src/org/traccar/notification/NotificationMail.java
+++ b/src/org/traccar/notification/NotificationMail.java
@@ -79,52 +79,51 @@ public final class NotificationMail {
return properties;
}
- private static void sendMailSync(long userId, Event event, Position position) {
- try {
- User user = Context.getPermissionsManager().getUser(userId);
+ public static void sendMailSync(long userId, Event event, Position position) throws MessagingException {
+ User user = Context.getPermissionsManager().getUser(userId);
- Properties properties = getProperties(new PropertiesProvider(Context.getConfig()));
+ Properties properties = getProperties(new PropertiesProvider(Context.getConfig()));
+ if (!properties.containsKey("mail.smtp.host")) {
+ properties = getProperties(new PropertiesProvider(user));
if (!properties.containsKey("mail.smtp.host")) {
- properties = getProperties(new PropertiesProvider(user));
- if (!properties.containsKey("mail.smtp.host")) {
- Log.warning("No SMTP configuration found");
- return;
- }
+ Log.warning("No SMTP configuration found");
+ return;
}
+ }
- Session session = Session.getInstance(properties);
+ Session session = Session.getInstance(properties);
- MimeMessage message = new MimeMessage(session);
+ MimeMessage message = new MimeMessage(session);
- String from = properties.getProperty("mail.smtp.from");
- if (from != null) {
- message.setFrom(new InternetAddress(from));
- }
+ String from = properties.getProperty("mail.smtp.from");
+ if (from != null) {
+ message.setFrom(new InternetAddress(from));
+ }
- message.addRecipient(Message.RecipientType.TO, new InternetAddress(user.getEmail()));
- message.setSubject(NotificationFormatter.formatTitle(userId, event, position));
- message.setText(NotificationFormatter.formatMessage(userId, event, position));
-
- Transport transport = session.getTransport();
- try {
- transport.connect(
- properties.getProperty("mail.smtp.host"),
- properties.getProperty("mail.smtp.username"),
- properties.getProperty("mail.smtp.password"));
- transport.sendMessage(message, message.getAllRecipients());
- } finally {
- transport.close();
- }
+ message.addRecipient(Message.RecipientType.TO, new InternetAddress(user.getEmail()));
+ message.setSubject(NotificationFormatter.formatTitle(userId, event, position));
+ message.setText(NotificationFormatter.formatMessage(userId, event, position));
- } catch (MessagingException error) {
- Log.warning(error);
+ Transport transport = session.getTransport();
+ try {
+ transport.connect(
+ properties.getProperty("mail.smtp.host"),
+ properties.getProperty("mail.smtp.username"),
+ properties.getProperty("mail.smtp.password"));
+ transport.sendMessage(message, message.getAllRecipients());
+ } finally {
+ transport.close();
}
}
public static void sendMailAsync(final long userId, final Event event, final Position position) {
new Thread(new Runnable() {
public void run() {
- sendMailSync(userId, event, position);
+ try {
+ sendMailSync(userId, event, position);
+ } catch (MessagingException error) {
+ Log.warning(error);
+ }
}
}).start();
}