Add jakarta lib + mail test
This commit is contained in:
parent
ecdf99365b
commit
3ad9e91365
5 changed files with 40 additions and 27 deletions
|
@ -18,5 +18,6 @@
|
||||||
<classpathentry exported="true" kind="lib" path="JDA-5.0.0-beta.8-withDependencies.jar"/>
|
<classpathentry exported="true" kind="lib" path="JDA-5.0.0-beta.8-withDependencies.jar"/>
|
||||||
<classpathentry exported="true" kind="lib" path="PeerAtCodeFramework.jar"/>
|
<classpathentry exported="true" kind="lib" path="PeerAtCodeFramework.jar"/>
|
||||||
<classpathentry kind="lib" path="jakarta.mail-api-2.1.2.jar"/>
|
<classpathentry kind="lib" path="jakarta.mail-api-2.1.2.jar"/>
|
||||||
|
<classpathentry kind="lib" path="simple-java-mail-8.1.3.jar"/>
|
||||||
<classpathentry kind="output" path="bin"/>
|
<classpathentry kind="output" path="bin"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
|
|
BIN
jakarta.mail-api-2.1.2.jar
Normal file
BIN
jakarta.mail-api-2.1.2.jar
Normal file
Binary file not shown.
|
@ -35,7 +35,7 @@ public class Configuration {
|
||||||
private String mailUsername;
|
private String mailUsername;
|
||||||
private String mailPassword;
|
private String mailPassword;
|
||||||
private String mailSmtpHost;
|
private String mailSmtpHost;
|
||||||
private String mailSmptPort;
|
private int mailSmptPort;
|
||||||
private String mailFromAddress;
|
private String mailFromAddress;
|
||||||
|
|
||||||
private File file;
|
private File file;
|
||||||
|
|
|
@ -27,6 +27,7 @@ import dev.peerat.backend.routes.groups.GroupCreate;
|
||||||
import dev.peerat.backend.routes.groups.GroupJoin;
|
import dev.peerat.backend.routes.groups.GroupJoin;
|
||||||
import dev.peerat.backend.routes.groups.GroupList;
|
import dev.peerat.backend.routes.groups.GroupList;
|
||||||
import dev.peerat.backend.routes.groups.GroupQuit;
|
import dev.peerat.backend.routes.groups.GroupQuit;
|
||||||
|
import dev.peerat.backend.utils.Mail;
|
||||||
import dev.peerat.framework.Context;
|
import dev.peerat.framework.Context;
|
||||||
import dev.peerat.framework.HttpReader;
|
import dev.peerat.framework.HttpReader;
|
||||||
import dev.peerat.framework.HttpWriter;
|
import dev.peerat.framework.HttpWriter;
|
||||||
|
@ -41,6 +42,7 @@ public class Main{
|
||||||
Configuration config = new Configuration("config.txt");
|
Configuration config = new Configuration("config.txt");
|
||||||
config.load();
|
config.load();
|
||||||
|
|
||||||
|
config.getMail().send("goerfra@peerat.dev", "Super Test", "A l'abordage !!!");;
|
||||||
Class.forName("com.mysql.cj.jdbc.Driver");
|
Class.forName("com.mysql.cj.jdbc.Driver");
|
||||||
|
|
||||||
DatabaseRepository repo = new DatabaseRepository(config);
|
DatabaseRepository repo = new DatabaseRepository(config);
|
||||||
|
|
|
@ -1,9 +1,14 @@
|
||||||
package dev.peerat.backend.utils;
|
package dev.peerat.backend.utils;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
||||||
|
import org.simplejavamail.email.*;
|
||||||
|
import org.simplejavamail.mailer.MailerBuilder;
|
||||||
|
import org.simplejavamail.mailer.internal.MailerRegularBuilderImpl;
|
||||||
|
|
||||||
|
import jakarta.mail.Authenticator;
|
||||||
import jakarta.mail.Message;
|
import jakarta.mail.Message;
|
||||||
import jakarta.mail.MessagingException;
|
|
||||||
import jakarta.mail.PasswordAuthentication;
|
import jakarta.mail.PasswordAuthentication;
|
||||||
import jakarta.mail.Session;
|
import jakarta.mail.Session;
|
||||||
import jakarta.mail.Transport;
|
import jakarta.mail.Transport;
|
||||||
|
@ -15,37 +20,42 @@ public class Mail {
|
||||||
private Session session;
|
private Session session;
|
||||||
private String fromAddress;
|
private String fromAddress;
|
||||||
|
|
||||||
public Mail(String initUsername, String initPassword, String initSmtpHost, String initSmtpPort, String initFromAddress) {
|
public Mail(String initUsername, String initPassword, String initSmtpHost, int initSmtpPort, String initFromAddress) {
|
||||||
Properties props = new Properties();
|
Properties props = new Properties();
|
||||||
props.put("mail.smtp.starttls.enable", "true");
|
|
||||||
props.put("mail.smtp.auth", "true");
|
|
||||||
props.put("mail.smtp.host", initSmtpHost);
|
props.put("mail.smtp.host", initSmtpHost);
|
||||||
props.put("mail.smtp.port", initSmtpPort);
|
props.put("mail.smtp.port", initSmtpPort);
|
||||||
|
props.put("mail.smtp.auth", "true");
|
||||||
|
props.put("mail.smtp.starttls.enable", "true");
|
||||||
|
|
||||||
session = Session.getInstance(props,
|
Authenticator auth = new Authenticator() {
|
||||||
new jakarta.mail.Authenticator() {
|
//override the getPasswordAuthentication method
|
||||||
protected PasswordAuthentication getPasswordAuthentication() {
|
protected PasswordAuthentication getPasswordAuthentication() {
|
||||||
return new PasswordAuthentication(initUsername, initPassword);
|
return new PasswordAuthentication(initUsername, initPassword);
|
||||||
}
|
}
|
||||||
});
|
};
|
||||||
|
session = Session.getInstance(props, auth);
|
||||||
|
|
||||||
fromAddress = initFromAddress.isBlank() ? "cyberbottle@peerat.dev" : initFromAddress;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void send(String toAddress, String subject, String text) {
|
public void send(String toAddress, String subject, String text) {
|
||||||
try {
|
try
|
||||||
|
{
|
||||||
|
MimeMessage msg = new MimeMessage(session);
|
||||||
|
//set message headers
|
||||||
|
msg.addHeader("Content-type", "text/HTML; charset=UTF-8");
|
||||||
|
msg.addHeader("format", "flowed");
|
||||||
|
msg.addHeader("Content-Transfer-Encoding", "8bit");
|
||||||
|
|
||||||
Message message = new MimeMessage(session);
|
msg.setFrom(new InternetAddress("no_reply@example.com", "NoReply-JD"));
|
||||||
message.setFrom(new InternetAddress(fromAddress));
|
msg.setReplyTo(InternetAddress.parse("no_reply@example.com", false));
|
||||||
message.setRecipients(Message.RecipientType.TO,
|
msg.setSubject(subject, "UTF-8");
|
||||||
InternetAddress.parse(toAddress));
|
msg.setText(text, "UTF-8");
|
||||||
message.setSubject(subject);
|
msg.setSentDate(new Date());
|
||||||
message.setText(text);
|
|
||||||
|
|
||||||
Transport.send(message);
|
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(toAddress, false));
|
||||||
} catch (MessagingException e) {
|
Transport.send(msg);
|
||||||
throw new RuntimeException(e);
|
}
|
||||||
|
catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue