精品熟女碰碰人人a久久,多姿,欧美欧美a v日韩中文字幕,日本福利片秋霞国产午夜,欧美成人禁片在线观看

Spring Java Mail

spring java mail

 

spring框架提供了許多用于發送和接收郵件的有用接口和類。

org.springframework.mail 軟件包是在spring框架中提供郵件支持的根軟件包。

 

spring java mail api

spring框架中java郵件支持的接口和類如下:

帶有javamail api層次結構的spring

  • mailsender接口: 它是根接口。它提供了發送簡單郵件的基本功能。
  • javamailsender接口: 它是mailsender的子接口。它支持mime消息。它主要與 mimemessagehelper 類一起使用,以創建javamail mimemessage ,以及附件等。spring框架推薦使用 mimemessagepreparator 機制來使用此接口。
  • javamailsenderimpl類: 它提供javamailsender接口的實現。它支持javamail mimemessages和spring simplemailmessages。
  • simplemailmessage類: 用于創建簡單的郵件,包括從,到,抄送,主題和文本郵件。
  • mimemessagepreparator接口: 它是用于準備javamail mime消息的回調接口。
  • mimemessagehelper類: 它是用于創建mime消息的幫助器類。它支持內聯元素,例如圖像,典型的郵件附件和html文本內容。

 

通過gmail服務器在spring中發送郵件的示例

使用兩個spring郵件類:

  • simplemailmessage 用于創建消息。
  • javamailsenderimpl 用于發送消息。

您需要創建以下文件以通過spring框架發送電子郵件。

  • mailmail.java
  • applicationcontext.xml
  • test.java

您需要加載mail.jar和activation.jar文件才能運行此示例。

 

下載mail.jar和activation.jar 或訪問oracle網站以下載最新版本。

1)mailmail.java

這是定義mailsender屬性的簡單類。在運行時將向該屬性提供mailsender對象。

在sendmail()方法中,我們正在創建simplemailmessage的實例,并將信息(例如,從,到,主題和消息)存儲到該對象中。

這里使用mailsender接口的send()方法發送簡單郵件。

package com.yapf;
import org.springframework.mail.mailsender;
import org.springframework.mail.simplemailmessage;
 
public class mailmail{
  private mailsender mailsender;
 
  public void setmailsender(mailsender mailsender) {
    this.mailsender = mailsender;
  }
 
  public void sendmail(string from, string to, string subject, string msg) {
        //creating message
    simplemailmessage message = new simplemailmessage();
    message.setfrom(from);
    message.setto(to);
    message.setsubject(subject);
    message.settext(msg);
        //sending message
    mailsender.send(message); 
  }
}

2)applicationcontext.xml

在此xml文件中,我們為javamailsenderimpl類創建了一個bean。我們需要定義以下屬性的值:

 

  • 主機
  • 用戶名
  • 密碼
  • javamailproperties

 

我們還將使用mailsender屬性為mailmail類創建bean。現在,將在mailmail類的mailsender屬性中設置javamailsenderimpl類的實例。

<?xml version="1.0" encoding="utf-8"?>
<beans
  xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
  xmlns:p="http://www.springframework.org/schema/p"
  xsi:schemalocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="mailsender" class="org.springframework.mail.javamail.javamailsenderimpl">
  <property name="host" value="smtp.gmail.com" />
  <property name="username" value="yourgmailid@gmail.com" />
  <property name="password" value="yourgmailpassword" />
  <property name="javamailproperties">
     <props>
              <prop key="mail.smtp.auth">true</prop>
              <prop key="mail.smtp.socketfactory.port">465</prop>
              <prop key="mail.smtp.socketfactory.class">javax.net.ssl.sslsocketfactory</prop>
              <prop key="mail.smtp.port">465</prop>
        </props>
  </property>
</bean>
<bean id="mailmail" class="com.yapf.mailmail">
  <property name="mailsender" ref="mailsender" />
</bean>
</beans>

3)test.java

該類從applicationcontext.xml文件獲取mailmail的bean,并調用mailmail類的sendmail方法。

package com.yapf;
import org.springframework.beans.factory.*;
import org.springframework.beans.factory.xml.xmlbeanfactory;
import org.springframework.core.io.*;
public class test { 
public static void main(string[] args) {
  
resource r=new classpathresource("applicationcontext.xml");
beanfactory b=new xmlbeanfactory(r);
mailmail m=(mailmail)b.getbean("mailmail");
string sender="sendergmailid@gmail.com";//write here sender gmail id
string receiver="receiveremailid@gmail.com";//write here receiver id
m.sendmail(sender,receiver,"hi","welcome");
  
system.out.println("success");
}
}

 

如何運行此示例

 

  • 為core和java郵件加載spring jar文件
  • 加載mail.jar和activation.jar
  • 在applicationcontext.xml文件中更改用戶名和密碼屬性,并指定您的gmail id和密碼。
  • 在test.java文件中更改發件人gmail id和receivermail id。
  • 編譯并運行test類

 

 

由主機提供商提供的服務器在spring中發送郵件的示例

如果您有自己的站點,則可以使用郵件服務器。 mailmail.java和test類將相同。您只需要在test.java文件中更改發件人電子郵件id。在applicationcontext.xml文件中需要進行一些更改。

在applicationcontext.xml文件中,我們正在使用:

 

  • mail.unitedsquaad.com作為主機名。更改它。
  • a@unitedsquaad.com作為用戶名。更改它。
  • xxxxx作為密碼。更改它。

 

<?xml version="1.0" encoding="utf-8"?>
<beans
  xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
  xmlns:p="http://www.springframework.org/schema/p"
  xsi:schemalocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="mailsender" class="org.springframework.mail.javamail.javamailsenderimpl">
  <property name="host" value="mail.unitedsquaad.com" />
  <property name="username" value="a@unitedsquaad.com" />
  <property name="password" value="xxxxx" />
 
  <property name="javamailproperties">
     <props>
              <prop key="mail.smtp.auth">true</prop>
           </props>
  </property>
</bean>
<bean id="mailmail" class="mailmail">
  <property name="mailsender" ref="mailsender" />
</bean>
 
</beans>

 

將郵件發送到多個收件人

您可以借助simplemailmessage類將郵件發送到多個收件人。 simplemailmessage類的 setto(string []接收者)方法用于將消息發送到多個接收者。讓我們看一下簡單的代碼。

      ....
  public void sendmail(string from, string[] to, string subject, string msg) {
        //creating message
    simplemailmessage message = new simplemailmessage();
    message.setfrom(from);
    message.setto(to);//passing array of recipients
    message.setsubject(subject);
    message.settext(msg);
        //sending message
    mailsender.send(message); 
  }
     ...

 

spring mimemessagepreparator示例

我們可以借助mimemessagepreparator接口發送mime消息。它有一個方法prepare(mimemessage message)。

讓我們看一下發送mime消息的簡單代碼。

  import javax.mail.message;
import javax.mail.internet.internetaddress;
import javax.mail.internet.mimemessage;
import org.springframework.mail.javamail.javamailsender;
import org.springframework.mail.javamail.mimemessagepreparator;
public class mailmail{
  private javamailsender mailsender;
 
  public void setmailsender(javamailsender mailsender) {
    this.mailsender = mailsender;
  }
 
  public void sendmail(final string from, final string to,final string subject,final string msg) {
      
    mimemessagepreparator messagepreparator = new mimemessagepreparator() {
          
                public void prepare(mimemessage mimemessage) throws exception {
                   mimemessage.setrecipient(message.recipienttype.to,new internetaddress(to));
                   mimemessage.setfrom(new internetaddress(from));
                   mimemessage.setsubject(subject);
                   mimemessage.settext(msg);
                }
        };
        mailsender.send(messagepreparator);
  }
}

applicationcontext.xml和test.java文件與上面給出的相同。

 

通過spring mimemessagehelper示例發送附件

我們可以在mimemessagehelper類的幫助下在spring發送帶有附件的mime消息。推薦使用mimemessagepreparator。

讓我們看一下發送帶有附件(圖像)的mime消息的簡單代碼。

import java.io.file;
import javax.mail.messagingexception;
import javax.mail.internet.mimemessage;
import org.springframework.core.io.filesystemresource;
import org.springframework.mail.javamail.javamailsender;
import org.springframework.mail.javamail.mimemessagehelper;
public class mailmail{
  private javamailsender mailsender;
 
  public void setmailsender(javamailsender mailsender) {
    this.mailsender = mailsender;
  }
 
  public void sendmail(final string from, final string to,final string subject,final string msg) {
    try{
    mimemessage message = mailsender.createmimemessage();
    mimemessagehelper helper = new mimemessagehelper(message, true);
    helper.setfrom(from);
    helper.setto(to);
    helper.setsubject(subject);
    helper.settext(msg);
    // attach the file
    filesystemresource file = new filesystemresource(new file("c:/rr.jpg"));
    helper.addattachment("mybrothermage.jpg", file);//image will be sent by this name
    mailsender.send(message);
    }catch(messagingexception e){e.printstacktrace();}
  }
}

applicationcontext.xml和test.java文件與上面給出的相同。

下一節:spring struts集成詳細示例

spring 教程

相關文章