Skip to content
Snippets Groups Projects
Commit 406bf679 authored by Afnan  Ramadhan's avatar Afnan Ramadhan
Browse files

add email services

parent 71848cde
1 merge request!2add email services
# Nutricraft SOAP Service
Service yang digunakan oleh .
Service yang digunakan oleh aplikasi Nutricraft sebagai backend dengan menggunakan protokol SOAP
## Skema Basis Data
......@@ -9,13 +9,15 @@ Service yang digunakan oleh .
## Endpoints
`http://nutricraft-soap:8081/ws/subscription`
`/ws/subscription`
`http://nutricraft-soap:8081/ws/coins`
`/ws/coins`
`http://nutricraft-soap:8081/ws/userLevels`
`/ws/userLevels`
`http://nutricraft-soap:8081/ws/creatorLevels`
`/ws/creatorLevels`
`/ws/emails`
<!-- AUTHOR -->
## Authors
......@@ -27,6 +29,15 @@ Service yang digunakan oleh .
| 13521031 | Fahrian Afdholi |
## Task Distribution
| Task | NIM |
|:--------------------:|:--------------: |
| SubscriptionServices | 13521011 |
| LevelUserServices | 13521011 |
| LevelCreatorServices | 13521011 |
| CoinServices | 13521011, 13521031 |
| EmailServices | 13521011 |
<br>
......@@ -46,6 +46,11 @@
<artifactId>jaxws-api</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>javax.mail-api</artifactId>
<version>1.6.2</version>
</dependency>
</dependencies>
......
package org.nutricraft;
import org.nutricraft.Services.CoinServicesImpl;
import org.nutricraft.Services.LevelCreatorServicesImpl;
import org.nutricraft.Services.LevelUserServicesImpl;
import org.nutricraft.Services.SubscriptionServicesImpl;
import org.nutricraft.Services.*;
import javax.xml.ws.Endpoint;
......@@ -16,6 +14,7 @@ public class Main {
Endpoint.publish("http://nutricraft-soap:8081/ws/userLevels", new LevelUserServicesImpl());
Endpoint.publish("http://nutricraft-soap:8081/ws/creatorLevels", new LevelCreatorServicesImpl());
Endpoint.publish("http://nutricraft-soap:8081/ws/coins", new CoinServicesImpl());
Endpoint.publish("http://nutricraft-soap:8081/ws/emails", new EmailServicesImpl());
System.out.println("Server is ready...");
} catch (Exception e) {
e.printStackTrace();
......
package org.nutricraft.Services;
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService
public interface EmailServices {
@WebMethod
public String sendEmail(String to, String from, String Password);
}
package org.nutricraft.Services;
import javax.jws.WebMethod;
import javax.jws.WebService;
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
@WebService
public class EmailServicesImpl extends Services implements EmailServices {
@WebMethod
public String sendEmail(String to, String from, String password) {
if(!validateApiKey()){
System.out.println("API KEY INVALID");
return null;
}
String host = "smtp.gmail.com";
String port = "587";
System.out.println(from);
System.out.println(password);
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", host);
props.put("mail.smtp.port", port);
Session session = Session.getInstance(props, new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(from, password);
}
});
try {
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject("Berhasil Mendaftar ke Aplikasi Nutricraft");
message.setContent("<html><body>"+
"<h2>Konfirmasi Pendaftaran Aplikasi</h2>"+
"<p>Selamat, Anda telah berhasil mendaftar pada aplikasi kami!</p>"+
"<p>Terima kasih atas partisipasi Anda. Untuk mulai menggunakan aplikasi, silakan masuk ke akun Anda menggunakan kredensial yang telah Anda daftarkan.</p>"+
"<p>Jika Anda memiliki pertanyaan atau memerlukan bantuan lebih lanjut, jangan ragu untuk menghubungi tim dukungan kami.</p>"+
"<div >"+
"<p>-- Nutricraft Team --</p>"+
"</div>"+
"</body></html>","text/html");
Transport.send(message);
System.out.println("Sent message successfully....");
log("Sent Email");
return "Sent message successfully....";
} catch (MessagingException mex) {
mex.printStackTrace();
log("Unable to sent email");
return "Error: unable to send message....";
}
}
}
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment