Rejestracja usera z confirmem na mejla

Poprawiłem rejestrację usera – dodałem konieczność potwierdzenia emaila.

User po rejestracji otrzymuje na mejla link aktywacyjny.

Dodałem do encji User


private String uniqueID;

 private boolean active;

do metody która rejestruje usera dodałem

user.setUniqueID(UUID.randomUUID().toString());
emailService.sendEmail(user.getEmail(), user.getUniqueID());

EmailService

@Service
public class EmailService{

 @Autowired
 private Email email;

 public void sendEmail(String sendTo, String uniqueID) {

 Session session = Session.getInstance(email.getProps(),
 new javax.mail.Authenticator() {
 protected PasswordAuthentication getPasswordAuthentication() {
 return new PasswordAuthentication(email.getUser(), email.getPassword());
 }
 });
 try {

 Message message = new MimeMessage(session);
 message.setFrom(new InternetAddress("tomasz.molenda.autoguard.yt@gmail.com"));
 message.setRecipients(Message.RecipientType.TO,
 InternetAddress.parse(sendTo));
 message.setSubject("Rejestracja w serwisie Mediciline");
 message.setText("Witaj!,"
 + "http://localhost:8080/confirm/" + uniqueID + ".html");

 Transport.send(message);

 System.out.println("Done");

 } catch (MessagingException e) {
 throw new RuntimeException(e);
 }

 }

Email

public class Email {

 private String user;

 private String password;

 private String sendTo;

 private String sendUniqueID;

 private Properties props;

 public Email(String user, String password) {
 this.user = user;
 this.password = password;
 props = new Properties();
 props.put("mail.smtp.auth", "true");
 props.put("mail.smtp.starttls.enable", "true");
 props.put("mail.smtp.host", "smtp.gmail.com");
 props.put("mail.smtp.port", "587");
 }
}

oraz dodałem beana

 <bean id="mail" class="pl.tomo.provider.Email">
 <constructor-arg name="user" value="${mail.user}"/>
 <constructor-arg name="password" value="${mail.password}"/>
 &lt;/bean&gt;</pre>
<pre>

Logika wysyłająca użyta z mkyong


Reklamy

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj /  Zmień )

Zdjęcie na Google

Komentujesz korzystając z konta Google. Wyloguj /  Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj /  Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj /  Zmień )

Połączenie z %s