PEXA Serviceについて

チュートリアル

テストツール

定義ファイル

基本プロセス

拡張プロセス

Condition

セッション

モデル

リファレンス

環境設定

mailプロセス概要

PEXA4.6以降の機能です。
サービスからメール送信するためのプロセスです。

JavaMailの機能を使用してメール送信を行うことが出来ます。
アプリケーションサーバーにデプロイされたMailSession(javax.mail.Session)で送信を行うので、 DB接続のデータソース設定と同じように環境毎の設定はアプリケーションの外部で指定します。 そのため、mailプロセスでは送信先や送信内容のみの指定でメール送信を行うことが可能です。


mailフォーマットタイプ書式

(任意のプロセス名
    format_type    mail
    (mail
        text_type属性(1)
        to宣言部(0|1)
        cc宣言部(0|1)
        bcc宣言部(0|1)
        from宣言部(0|1)
        from_name宣言部(0|1)
        replyto宣言部(0|1)
        subject宣言部(0|1)
        message宣言部(0|1)
        encoding宣言部(0|1)
        attachments宣言部(0|1)
    )
)

記述注:
    属性        あらかじめ決められた値を選択する(true/falseなど)
    宣言部      値または、値のリストを設定する
    セクション  入れ子で他の属性、宣言部、セクションを保持する可能性がある
                (値又は、値のリストが設定される場合もある)

    (1):必須
    (0|1):オプション
    (1以上):一個以上必須
    (0以上):0個以上(オプション)

text_type属性

概要:
必須です。
送信メール内容がテキストメールなのかHTMLメールなのかを指定します。

区分値:

  • plain:テキストメール
  • html:HTMLメール
ここで指定された値が、メールヘッダに埋め込まれるMIMEタイプにそのまま反映されます。


to宣言部

概要:
任意です。
メール送信先アドレス(TO)を指定します。

指定できるのは、String, String配列, Stringを格納したListになります。
送信先名を指定する場合は、"送信先名<送信先メールアドレス>"のように記述します。


cc宣言部

概要:
任意です。
メール送信先アドレス(CC)を指定します。

指定できるのは、String, String配列, Stringを格納したListになります。
送信先名を指定する場合は、"送信先名<送信先メールアドレス>"のように記述します。


bcc宣言部

概要:
任意です。
メール送信先アドレス(BCC)を指定します。

指定できるのは、String, String配列, Stringを格納したListになります。
送信先名を指定する場合は、"送信先名<送信先メールアドレス>"のように記述します。


from宣言部

概要:
任意です。
メール送信元アドレス(FROM)を指定します。

指定できるのは、String値のみとなります。


from_name宣言部

概要:
任意です。
メール送信元名(FROMの名前)を指定します。

指定できるのは、String値のみとなります。


replyto宣言部

概要:
任意です。
メール返信先アドレス((Reply-To)を指定します。

指定できるのは、String値のみとなります。
返信先名を指定する場合は、"返信先名<返信先メールアドレス>"のように記述します。


subject宣言部

概要:
任意です。
メールの件名を指定します。

指定できるのはString値のみとなります。


message宣言部

概要:
任意です。
メールの内容を指定します。

指定できるのはString値のみとなります。
text_type=htmlとした場合は、このmessage宣言部でHTMLメールの内容をHTML形式の文字列データとして渡して下さい。


encoding宣言部

概要:
任意です。
メールの文字列のエンコード用のキャラクタセットを指定します。

指定できるのはString値のみとなります。
デフォルトは、ISO-2022-JPとなります。UTF-8等を指定することができます。


attachments宣言部

概要:
任意です。
メールに添付するファイル情報を指定します。

指定できるのはUpdatableまたはUpdatableのCollection値のみとなります。
指定したUpdatableには、以下の現象型を指定します。

現象型内容データ型必須/任意
PEXA_MailAttachmentBodyBinary添付ファイルのバイナリデータpexa.share.util.cont.Binaryまたはbyte[]で指定必須
PEXA_MailAttachmentFileName添付ファイルのメール上のファイル名String必須
PEXA_MailAttachmentContentType添付ファイルのコンテントタイプString任意

コンテントタイプはメール上のファイル名のファイル拡張子で以下のパターンで判断しますが、
それ以外のコンテントタイプを指定する場合にPEXA_MailAttachmentContentTypeを使用します。
	"txt", "text/plain"
	"csv", "text/csv"
	"css", "text/css"
	"html","text/xml"
	"js",  "text/javascript"
	"tsv", "text/tab-separated-values"
	"pdf", "application/pdf"
	"xls", "application/vnd.ms-excel"
	"ppt", "application/vnd.ms-powerpoint"
	"doc", "application/msword"
	"jpg", "image/jpeg"
	"jpeg","image/jpeg"
	"png", "image/png"
	"gif", "image/gif"
	"exe", "application/octet-stream"
	"bmp", "image/bmp"
	"zip", "application/zip"
	"lzh", "application/x-lzh"
	"tar", "application/x-tar"
	"jar", "application/java-archiver"
	"docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document" 
	"xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
	"pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"
	
PEXA_MailAttachmentContentTypeがNullでファイル拡張子も上記パターンにないときは、コンテントタイプは"application/octet-stream"を使用します。



MailSessionのデプロイ

mailプロセス実行時には、APサーバーにデプロイされたjavax.mail.Sessionを使用します。
そのため、あらかじめ実行環境にメールセッションの設定を行う必要があります。

設定方法はアプリケーションサーバー毎に異なりますので、詳細はそれぞれのマニュアルなどを参照して下さい。 一例として、JBossにおけるメールセッションのデプロイ設定について説明します。

JBossのMail設定

JBossでは、以下のフォルダ配下にあるXMLファイルでメール設定を行います。

  %JBOSS_HOME%\server\{設定セット]\deploy\mail-service.xml
上記ファイルは元々上記のフォルダに格納されていて、設定サンプルが記述されています。
JBossではメール設定は1つしかデプロイできないので、このファイルの内容を直接書き換えて使用します。

このファイル中で記述すべき内容は以下となります。

  • JNDIName:JBossでは、「java:/PEXAMAIL」と指定します。
  • mail.user:メールヘッダに送信者として設定されます。
  • mail.from:メールヘッダに返信先として指定されます。
  • mail.smtp.host:SMTPサーバーのIPアドレスもしくはサーバー名を指定します。
  • mail.smtp.port:SMTPサーバーのポート番号を指定します。

以下、記述例です。

<?xml version="1.0" encoding="UTF-8"?>
<!-- $Id: mail-service.xml 62349 2007-04-15 16:48:15Z dimitris@jboss.org $ -->
<server>

  <!-- ==================================================================== -->
  <!-- Mail Connection Factory                                              -->
  <!-- ==================================================================== -->

  <mbean code="org.jboss.mail.MailService"
         name="jboss:service=Mail">
    <attribute name="JNDIName">java:/PEXAMAIL</attribute>
    <attribute name="User">nobody</attribute>
    <attribute name="Password">password</attribute>
    <attribute name="Configuration">
      <!-- A test configuration -->
      <configuration>
        <!-- Change to your mail server prototocol -->
        <property name="mail.store.protocol" value="pop3"/>
        <property name="mail.transport.protocol" value="smtp"/>

        <!-- Change to the user who will receive mail  -->
        <property name="mail.user" value="jboss-system"/>

        <!-- Change to the mail server  -->
        <property name="mail.pop3.host" value="pop3.nosuchhost.nosuchdomain.com"/>

        <!-- Change to the SMTP gateway server -->
        <property name="mail.smtp.host" value="192.168.100.1"/>
        
        <!-- The mail server port -->
        <property name="mail.smtp.port" value="25"/>
        
        <!-- Change to the address mail will be from  -->
        <property name="mail.from" value="jboss-system@atrris.com"/>

        <!-- Enable debugging output from the javamail classes -->
        <property name="mail.debug" value="false"/>
      </configuration>
    </attribute>
    <depends>jboss:service=Naming</depends>
  </mbean>

</server>



記述例

(申請のREJECTをメール送信する
    format_type mail
    (mail
        text_type   plain
        to          @WF_Request/Requestor/メールアドレス
        subject     "申請が否決されました"
        message     "&Translate:{@WF_Request}{申請内容否決}"
    )
)


添付ファイルを含む記述例

(MailSet
    format_type    session
    (session
        [session_keys
            MSG            &Cat:{'test mail body日本語'}{&SpecialChar:{LF}}{'下記はアクセスと同じですか?'}
            AT0Bin         &Read:{C:\\wsp\\temp\\att\\20170215dp.pdf}{Binary}
            AT1Bin         &Read:{C:\\wsp\\temp\\att\\CMPOrderExcelData.xls}{Binary}
            AT2Bin         &Read:{C:\\wsp\\temp\\att\\CMPOrderExcelData.xlsx}{Binary}
            AT3Bin         &Read:{C:\\wsp\\temp\\att\\SKUCSVOUTF1Data20160427001.csv}{Binary}
            ,
            [ATList
                PEXA_MailAttachmentBodyBinary      @AT0Bin
                PEXA_MailAttachmentFileName        "日本語01.pdf"
                ,
                PEXA_MailAttachmentBodyBinary      @AT1Bin
                PEXA_MailAttachmentFileName        "CMPOrderExcelData.xls"
                ,
                PEXA_MailAttachmentBodyBinary      @AT2Bin
                PEXA_MailAttachmentFileName        "CMPOrderExcelData.xlsx"
                ,
                PEXA_MailAttachmentBodyBinary      @AT3Bin
                PEXA_MailAttachmentFileName        "CSVData.csv"
                PEXA_MailAttachmentContentType     "text/plain"
            ]
        ]
    )
)
(SendMail
    format_type    mail
    (mail
        text_type    plain
        to           "xxxxxx@atrris.com"
        subject      "test mail日本語"
        message      @MSG
        encoding     "UTF-8"
        attachments  @ATList
    )
)


更新情報

  • 最終更新者 : $Author: morishita $
  • 最終更新日時 : $Date:: 2010-03-19 22:48:07 #$
  • バージョン : $Revision: 4891 $



Copyright © 2006, Atrris Corporation