Merge pull request 'email' (#34) from email into master
Reviewed-on: http://git.plannaplan.pl/filipizydorczyk/backend/pulls/34
This commit is contained in:
commit
e18f285dd6
@ -40,6 +40,11 @@ W paczce dla proda w protpertiesach poufne dane odczytywane są ze zmiennych śr
|
|||||||
- `PLANNAPLAN_MYSQL_DB` - nazwa bazy dancyh. W profilu **dev** jest to np test
|
- `PLANNAPLAN_MYSQL_DB` - nazwa bazy dancyh. W profilu **dev** jest to np test
|
||||||
- `PLANNAPLAN_MYSQL_DB_USERNAME` - nazwa użytkownika bazy
|
- `PLANNAPLAN_MYSQL_DB_USERNAME` - nazwa użytkownika bazy
|
||||||
- `PLANNAPLAN_MYSQL_DB_PASSWORD` - hasło użytkownika bazy
|
- `PLANNAPLAN_MYSQL_DB_PASSWORD` - hasło użytkownika bazy
|
||||||
|
- `PLANNAPLAN_EMAIL_HOST` - host naszego dostawcy maila z którego będziemy wssyłać wiadomości
|
||||||
|
- `PLANNAPLAN_EMAIL_PORT` - port naszego dostawcy maila
|
||||||
|
- `PLANNAPLAN_EMAIL_USERNAME` - login naszego maila
|
||||||
|
- `PLANNAPLAN_EMAIL_PASSWORD` - hasło naszego maila
|
||||||
|
- `PLANNAPLAN_EMAIL` - nasz adres maila
|
||||||
|
|
||||||
## Packaging
|
## Packaging
|
||||||
|
|
||||||
|
@ -68,6 +68,12 @@
|
|||||||
<version>3.17</version>
|
<version>3.17</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-mail</artifactId>
|
||||||
|
<version>2.2.5.RELEASE</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
@ -85,14 +91,14 @@
|
|||||||
<version>3.0.2</version>
|
<version>3.0.2</version>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-javadoc-plugin</artifactId>
|
<artifactId>maven-javadoc-plugin</artifactId>
|
||||||
<version>3.0.0</version>
|
<version>3.0.0</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<source>1.8</source>
|
<source>1.8</source>
|
||||||
<target>1.8</target>
|
<target>1.8</target>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
<artifactId>maven-compiler-plugin</artifactId>
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
<version>3.8.0</version>
|
<version>3.8.0</version>
|
||||||
|
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"name": "plannaplan.email",
|
||||||
|
"type": "java.lang.String",
|
||||||
|
"description": "Email from which app sends message"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
38
buisnesslogic/src/main/java/com/plannaplan/services/EmailService.java
Executable file
38
buisnesslogic/src/main/java/com/plannaplan/services/EmailService.java
Executable file
@ -0,0 +1,38 @@
|
|||||||
|
package com.plannaplan.services;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.mail.SimpleMailMessage;
|
||||||
|
import org.springframework.mail.javamail.JavaMailSender;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Service to send emails
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class EmailService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private JavaMailSender emailSender;
|
||||||
|
|
||||||
|
@Value("${plannaplan.email}")
|
||||||
|
private String appEmail;
|
||||||
|
|
||||||
|
public EmailService() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* send simple text email
|
||||||
|
*
|
||||||
|
* @param destination destitnaion mail
|
||||||
|
* @param message text to be send
|
||||||
|
*/
|
||||||
|
public void sendMail(String destination, String message) {
|
||||||
|
SimpleMailMessage mailMessage = new SimpleMailMessage();
|
||||||
|
mailMessage.setFrom(appEmail);
|
||||||
|
mailMessage.setTo(destination);
|
||||||
|
mailMessage.setSubject("[Plan na plan] INFO");
|
||||||
|
mailMessage.setText(message);
|
||||||
|
emailSender.send(mailMessage);
|
||||||
|
}
|
||||||
|
}
|
22
buisnesslogic/src/main/java/com/plannaplan/services/EventService.java
Executable file
22
buisnesslogic/src/main/java/com/plannaplan/services/EventService.java
Executable file
@ -0,0 +1,22 @@
|
|||||||
|
package com.plannaplan.services;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class EventService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private EmailService emailService;
|
||||||
|
|
||||||
|
@Scheduled(cron = "0 2 17 * * *")
|
||||||
|
public void collectGroupLosses() {
|
||||||
|
System.out.println("Checking for groups");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Scheduled(cron = "0 30 17 * * *")
|
||||||
|
public void testMail() {
|
||||||
|
this.emailService.sendMail("kaczor982@gmail.com", "Cześć. Jestem Tomek.");
|
||||||
|
}
|
||||||
|
}
|
29
buisnesslogic/src/test/java/com/plannaplan/services/EmailServiceTest.java
Executable file
29
buisnesslogic/src/test/java/com/plannaplan/services/EmailServiceTest.java
Executable file
@ -0,0 +1,29 @@
|
|||||||
|
package com.plannaplan.services;
|
||||||
|
|
||||||
|
import org.junit.Ignore;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
|
import org.springframework.test.context.ContextConfiguration;
|
||||||
|
import org.springframework.test.context.junit4.SpringRunner;
|
||||||
|
|
||||||
|
@RunWith(SpringRunner.class)
|
||||||
|
@SpringBootTest
|
||||||
|
@ContextConfiguration
|
||||||
|
public class EmailServiceTest {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private EmailService service;
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@Ignore
|
||||||
|
/**
|
||||||
|
* This test is ignored because we don't have way to check if email has arrived.
|
||||||
|
* Check mailchater to check this manually
|
||||||
|
*/
|
||||||
|
public void shouldSendSimpleEmail() {
|
||||||
|
this.service.sendMail("shouldSendSimpleEmail@EmailService.test", "This is totally simple message");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -8,5 +8,11 @@ spring.jpa.hibernate.ddl-auto=create-drop
|
|||||||
spring.jackson.serialization.fail-on-empty-beans=false
|
spring.jackson.serialization.fail-on-empty-beans=false
|
||||||
spring.main.allow-bean-definition-overriding=true
|
spring.main.allow-bean-definition-overriding=true
|
||||||
spring.jackson.default-property-inclusion = NON_NULL
|
spring.jackson.default-property-inclusion = NON_NULL
|
||||||
|
spring.mail.host=localhost
|
||||||
|
spring.mail.port=1025
|
||||||
|
spring.mail.properties.mail.smtp.auth=false
|
||||||
|
spring.mail.properties.mail.smtp.starttls.enable=false
|
||||||
|
|
||||||
|
plannaplan.email = plannaplan.kontakt@gmail.com
|
||||||
|
|
||||||
server.port=1285
|
server.port=1285
|
@ -16,9 +16,12 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
|
|||||||
import org.springframework.boot.context.event.ApplicationReadyEvent;
|
import org.springframework.boot.context.event.ApplicationReadyEvent;
|
||||||
|
|
||||||
import org.springframework.context.event.EventListener;
|
import org.springframework.context.event.EventListener;
|
||||||
|
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||||
|
|
||||||
import com.plannaplan.services.ConfiguratorService;
|
import com.plannaplan.services.ConfiguratorService;
|
||||||
|
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
|
@EnableScheduling
|
||||||
public class App {
|
public class App {
|
||||||
|
|
||||||
public final static String API_VERSION = "v1";
|
public final static String API_VERSION = "v1";
|
||||||
|
@ -9,6 +9,11 @@
|
|||||||
"name": "plannaplan.frontendUrl",
|
"name": "plannaplan.frontendUrl",
|
||||||
"type": "java.lang.String",
|
"type": "java.lang.String",
|
||||||
"description": "Url where frontend app is located"
|
"description": "Url where frontend app is located"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "plannaplan.email",
|
||||||
|
"type": "java.lang.String",
|
||||||
|
"description": "Email from which app sends message"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,14 @@ spring.jpa.hibernate.ddl-auto=create-drop
|
|||||||
spring.jackson.serialization.fail-on-empty-beans=false
|
spring.jackson.serialization.fail-on-empty-beans=false
|
||||||
spring.main.allow-bean-definition-overriding=true
|
spring.main.allow-bean-definition-overriding=true
|
||||||
spring.jackson.default-property-inclusion = NON_NULL
|
spring.jackson.default-property-inclusion = NON_NULL
|
||||||
|
spring.mail.host=localhost
|
||||||
|
spring.mail.port=1025
|
||||||
|
# spring.mail.username=<login user to smtp server>
|
||||||
|
# spring.mail.password=<login password to smtp server>
|
||||||
|
spring.mail.properties.mail.smtp.auth=false
|
||||||
|
spring.mail.properties.mail.smtp.starttls.enable=false
|
||||||
logging.level.io.swagger.models.parameters.AbstractSerializableParameter=ERROR
|
logging.level.io.swagger.models.parameters.AbstractSerializableParameter=ERROR
|
||||||
server.port=1285
|
server.port=1285
|
||||||
plannaplan.dev = true
|
plannaplan.dev = true
|
||||||
plannaplan.frontendUrl= http://localhost:3000
|
plannaplan.frontendUrl = http://localhost:3000
|
||||||
|
plannaplan.email = plannaplan.kontakt@gmail.com
|
@ -9,13 +9,19 @@ spring.jackson.serialization.fail-on-empty-beans=false
|
|||||||
spring.main.allow-bean-definition-overriding=true
|
spring.main.allow-bean-definition-overriding=true
|
||||||
spring.jackson.default-property-inclusion = NON_NULL
|
spring.jackson.default-property-inclusion = NON_NULL
|
||||||
logging.level.io.swagger.models.parameters.AbstractSerializableParameter=ERROR
|
logging.level.io.swagger.models.parameters.AbstractSerializableParameter=ERROR
|
||||||
|
spring.mail.host=${PLANNAPLAN_EMAIL_HOST}
|
||||||
|
spring.mail.port=${PLANNAPLAN_EMAIL_PORT}
|
||||||
|
spring.mail.username=${PLANNAPLAN_EMAIL_USERNAME}
|
||||||
|
spring.mail.password=${PLANNAPLAN_EMAIL_PASSWORD}
|
||||||
|
spring.mail.properties.mail.smtp.auth=true
|
||||||
|
spring.mail.properties.mail.smtp.starttls.enable=true
|
||||||
server.port=1285
|
server.port=1285
|
||||||
|
|
||||||
|
plannaplan.email = ${PLANNAPLAN_EMAIL}
|
||||||
plannaplan.dev = false
|
plannaplan.dev = false
|
||||||
plannaplan.frontendUrl= https://wmi.plannaplan.pl
|
plannaplan.frontendUrl= https://wmi.plannaplan.pl
|
||||||
security.require-ssl=true
|
security.require-ssl=true
|
||||||
server.ssl.key-store=/keys/keystore.p12
|
server.ssl.key-store=/keys/keystore.p12
|
||||||
server.ssl.key-store-password=
|
server.ssl.key-store-password=
|
||||||
server.ssl.keyStoreType=PKCS12
|
server.ssl.keyStoreType=PKCS12
|
||||||
server.ssl.keyAlias=tomcat
|
server.ssl.keyAlias=tomcat
|
||||||
|
Loading…
Reference in New Issue
Block a user