Как настроить почтовый сервер, используя Spring MVC и JSP? - PullRequest
1 голос
/ 21 ноября 2010

Я просто хотел бы спросить, как я могу настроить простой почтовый сервер и иметь возможность отправлять электронную почту.Я использую Apache Tomcat 6.0 в качестве локального сервера и Spring Framework + JSP, а также.Я новичок в этом.Так что, если кто-то может дать хороший учебник, он будет очень полезен.спасибо

1 Ответ

1 голос
/ 21 ноября 2010

Ниже показано, как получить конфигурацию пружины. возможно applicationContext-mail.xml. Импортируйте это в applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"autowire="byName">

default-autowire="byName">

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
    <property name="host" value="${mail.host}" />
    <property name="port" value="${mail.port}" />
    <property name="username" value="${mail.username}" />
    <property name="password" value="${mail.password}" />
</bean>


<bean id="freemarkerConfiguration"
    class="org.springframework.ui.freemarker.FreeMarkerConfigurationFactoryBean">
    <property name="templateLoaderPath" value="/WEB-INF/templates" />
</bean>

<!-- KINDLY MAINTAIN ALPHABETICAL ORDER THIS LINE ONWARDS -->
<bean id="notificationService" class="com.isavera.service.NotificationServiceImpl"
    scope="prototype">
    <property name="mailSender" ref="mailSender" />
    <property name="freemarkerConfiguration" ref="freemarkerConfiguration" />
    <property name="freemarkerTemplate" value="accountInformation.ftl" />
    <property name="fromAddress" value="info@apnagenie.com" />
    <property name="subject" value="Your account information" />
</bean>

Ниже находится NotificationServiceImpl

public class NotificationServiceImpl implements NotificationService, Runnable {
private boolean asynchronous = true;

private JavaMailSender mailSender;

private Configuration freemarkerConfiguration;

private String freemarkerTemplate;

private Map<String, Object> attributes;

private String deliveryAddress;

private String[] deliveryAddresses;

private String fromAddress;

private String subject;

private SimpleMailMessage message;

private MimeMessage mimeMessage;

public void deliver() {
    message = new SimpleMailMessage();

    if (getDeliveryAddresses() == null) {
        message.setTo(getDeliveryAddress());
    } else {
        message.setTo(getDeliveryAddresses());
    }

    message.setSubject(subject);
    message.setFrom(fromAddress);

    // Merge the model into the template
    final String result;
    try {

        result = FreeMarkerTemplateUtils.processTemplateIntoString(freemarkerConfiguration.getTemplate(appendApplicationName(freemarkerTemplate)), attributes);
        message.setText(result);
        if (asynchronous) {
            Thread emailThread = new Thread(this);
            emailThread.start();
        } else {
            run();
        }
    } catch (IOException e) {
        e.printStackTrace();
    } catch (TemplateException e) {
        e.printStackTrace();
    }
}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...