温馨提示:
本文所述内容具有依赖性,可能因软硬条件不同而与预期有所差异,故请以实际为准,仅供参考。
一、配置检查
检查Java环境设定, 确定 JavaMail 的相关程式存放路径与相关程序。
1、确定 JDK 的版本与路径
要求 Java version "1.3.1" (以上),我们的是 1.6 ,符合:
</u1/topprod/tiptop> java -version
java version "1.6.0"
OpenJDK Runtime Environment (build 1.6.0-b09)
OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)
2、确认路径及文件是否存在
</u1/topprod/tiptop/ds4gl2/bin/javamail> ls
demo doc genattach gencontent genxml jmjar UnixMailSender.bat
JavaMail 目录下的每个文件说明如下:
- jmjar 文件夹:包含 JavaMail 执行时所需要用到的 jar 档, 有 activation.jar、jdom.jar、mail.jar、ttopmail.jar、xerces.jar 等 5 个。
- demo 文件夹:包含测试 JavaMail 的程序。
- doc 文件夹:包含 JavaMail 的先关文档。
- UnixMailSender.bat:呼叫执行 JavaMail 的 bat 档。
3、简单测试一下
上面几步完成后,即可进行简单测试,如只要测试 JavaMail是否可以正常发信,可略过
XML 文件架构说明。在上面 JavaMail 目录下有一个 demo 的测试例子,我们只需要修改里面的test.xml, 修改正确后就可以 runjmail 查看是否可以发信:
</u1/topprod/tiptop/ds4gl2/bin/javamail> cd demo #切换到demo目录下
</u1/topprod/tiptop/ds4gl2/bin/javamail/demo> ls
433.xml body.txt runjmail test_attach.txt test.htm test.xml
</u1/topprod/tiptop/ds4gl2/bin/javamail/demo> vi test.xml
<?xml version="1.0" encoding='Big5'?>
<Mail>
<Protocol>smtp</Protocol>
<CheckAuth>N</CheckAuth>
<MailServer>SHDC02.shyahsin.com</MailServer>
<MailServerPort>25</MailServerPort>
<MailServerUser>fengmx</MailServerUser>
<MailServerUserPassword>shya_2007</MailServerUserPassword>
<Subject>01111545test</Subject>
<MessageBody>/u1/topprod/topcust/cxm/per/cxmi999.per</MessageBody>
<Attach>/u1/topprod/topcust/cxm/per/cxmi999.per</Attach>
<Recipient>[email protected]</Recipient>
<From>[email protected]</From>
</Mail>
xml 文件说明:
- Protocol:通讯协议, 例如 smtp。
- CheckAuth:此 Mail Server 是否需要验证。
- MailServer:Mail Server 所在地址, 例如 10.40.40.168。
- MailServerPort:Mail Server 的端口, 例如 25。
- MailServerUser:可登入此 Mail Server 的账号名称, 例如 topftp。
- MailServerUserPassword:登入账号的密码, 例如 demo@erp。
- Subject:信件主旨。
- MessageBody:信件内容的档案路径名称,例如 /u1/topprod/topcust/cxm/per/cxmi999.per
- Attach:信件夹文件的档案路径名称, 例如 /u1/topprod/topcust/cxm/per/cxmi999.per
- Recipient:收件者, 例如 [email protected]:user01。
- CCRecipient:副本, 格式同上。
- BCCRecipient:密件抄送, 格式同上。
- From:发件人, 格式同上。
上面 test.xml 文件设置正确后 , 执行同目录下的 runjmail, 出现底下三个信息即表示 JavaMail 的安装与设定成功:
</u1/topprod/tiptop/ds4gl2/bin/javamail/demo> ls
433.xml body.txt runjmail test_attach.txt test.htm test.xml
</u1/topprod/tiptop/ds4gl2/bin/javamail/demo> runjmail
Prepare mails info...
Sending mails...
Mails send successfully.
二、关联 tiptop
1、关联
主要是两只程序看下图:
- aooi999:JavaMail 参数维护作业(我使用的是缺省邮件主机)
- aooi998:Javamail 收件人维护作业
2、测试
出现这样的提示表示成功了:
</u1/topprod/topcust/cpm/4gl> r.r2 apmr001
No idle control
apmr001
INFO: 4st for Interface Level = /u1/topprod/tiptop/config/4st/tiptop.4st
INFO: 4ad for Interface Level = /u1/topprod/tiptop/config/4ad/2/tiptop.4ad
INFO: 4tm for Interface Level = /u1/topprod/tiptop/config/4tm/topmenu_r.4tm
INFO: 4tb for Interface Level = /u1/topprod/tiptop/config/4tb/toolbar_r.4tb
INFO: Locale feature use 0.02143 seconds.
g_xml_name:apmr001.03r.xml
INFO: 4st for Interface Level = /u1/topprod/tiptop/config/4st/tiptop.4st
INFO: Locale feature use 0.04478 seconds.
INFO: Locale feature use 0.01043 seconds.
Prepare mails info...
ending mails...
Mails send successfully.
chmod 777 apmr001.03r
成功收到邮件:
三、排错
1、编码错误:(还有可能导致收到邮件为乱码)
2、没有权限:发送不成功,进 p_zx 设置邮件或者维护 gen06 字段
3、通过 Javamail 发送信件给特定人员:
cl_jmail 的使用说明(存放于 cl_prt.4gl 内),自己去看。
Windows 10Chrome 76.0.3809.100来自 福建 的大神
新版的好像不一样了