ru.org.linux.util.EmailService.java Source code

Java tutorial

Introduction

Here is the source code for ru.org.linux.util.EmailService.java

Source

/*
 * Copyright 1998-2012 Linux.org.ru
 *    Licensed under the Apache License, Version 2.0 (the "License");
 *    you may not use this file except in compliance with the License.
 *    You may obtain a copy of the License at
 *
 *        http://www.apache.org/licenses/LICENSE-2.0
 *
 *    Unless required by applicable law or agreed to in writing, software
 *    distributed under the License is distributed on an "AS IS" BASIS,
 *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *    See the License for the specific language governing permissions and
 *    limitations under the License.
 */

package ru.org.linux.util;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import ru.org.linux.spring.Configuration;
import ru.org.linux.user.User;

import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Date;
import java.util.Properties;

@Service
public class EmailService {

    @Autowired
    private Configuration configuration;

    public void sendEmail(String nick, String email, boolean isNew) throws MessagingException {
        StringBuilder text = new StringBuilder();

        text.append("?!\n\n");
        if (isNew) {
            text.append(
                    "\t?   ? http://www.linux.org.ru/ ?? ?? ?,\n");
        } else {
            text.append(
                    "\t?   ? http://www.linux.org.ru/   ?? ?,\n");
        }

        text.append("     ? ? (e-mail).\n\n");
        text.append(
                "  ?    ? ? ?: '");
        text.append(nick);
        text.append("'\n\n");
        text.append(
                "?   ,     - ?  ? ?!\n\n");

        if (isNew) {
            text.append(
                    "?     ???    ? http://www.linux.org.ru/,\n");
            text.append(
                    "  ?  ? ?   ?    ?.\n\n");
        } else {
            text.append(
                    "?      ? ? ? http://www.linux.org.ru/,\n");
            text.append("  ?  ? .\n\n");
        }

        String regcode = User.getActivationCode(configuration.getSecret(), nick, email);

        text.append(
                "?    ?? http://www.linux.org.ru/activate.jsp\n\n");
        text.append(" : ").append(regcode).append("\n\n");
        text.append("  ?!\n");

        Properties props = new Properties();
        props.put("mail.smtp.host", "localhost");
        Session mailSession = Session.getDefaultInstance(props, null);

        MimeMessage emailMessage = new MimeMessage(mailSession);
        emailMessage.setFrom(new InternetAddress("no-reply@linux.org.ru"));

        emailMessage.addRecipient(MimeMessage.RecipientType.TO, new InternetAddress(email));
        emailMessage.setSubject("Linux.org.ru registration");
        emailMessage.setSentDate(new Date());
        emailMessage.setText(text.toString(), "UTF-8");

        Transport.send(emailMessage);
    }

}