如何将java在DOMINO中发送的邮件带上附件

如何将java在DOMINO中发送的邮件带上附件,第1张

我们要用DOMINO5R的例子重写一下:

rti.embedObject(EmbeddedObject.EMBED_ATTACHMENT, null,

attachFilePath, attachFilePath)// 添加附件

注:其中rti = (RichTextItem) memo.createRichTextItem("Body")

让邮件带上附件就一句话,很简单吧。

如果,你不明白其中的参数,还是会搞不出来,一个字晕!

其中前两个参数我就不说了,第三个和第四个参数写成一样就可以了。

强烈注意:

1* 添加的附件必须放在DOMINO服务器上,不能放在客户端添加附件,不要问为什么,这是事实。你在客户端的硬盘上无论放在哪,它也不让你上传。

2*我们的项目环境,DOMINO是运行在AS400上,它的安装目录是em_01,我们就假设把附件放在AS400 的em_01/test/test.tar,在程序使用相对路径,"test/test.tar"相对于邮件的根目录em_01.

如果,按我说的做法应该不会有问题了。若想看一个完整例子,请参考我的“java在收。发lotus邮件的实例了”。

package cn bric crm util

import java util Date

import java util Enumeration

import java util Properties

import java util Vector

import javax activation *

import javax mail Authenticator

import javax mail Message

import javax mail Multipart

import javax mail PasswordAuthentication

import javax mail Session

import javax mail Transport

import javax mail internet InternetAddress

import javax mail internet MimeBodyPart

import javax mail internet MimeMessage

import javax mail internet MimeMultipart

import javax mail internet MimeUtility

import java io FileInputStream

import java io IOException

import java text ParseException

import java util ArrayList

import java util Date

import java util HashSet

import java util Iterator

import java util List

import java util Locale

import java util Set

import java util regex Pattern

/**

* <p>

* Title: 使用javamail发送邮件

* </p>

*/

public class MailUtils {

String to = // 收件人

String from = // 发件人

String host = // *** tp主机

String username =

String password =

String filename = // 附件文件名

String subject = // 邮件主题

String content = // 邮件正文

Vector file = new Vector()// 附件文件集合

/**

* <br>

* 方法说明 默认构造器 <br>

* 输入参数 <br>

* 返回类型

*/

public MailUtils() {

}

/**

* <br>

* 方法说明 构造器 提供直接的参数传入 <br>

* 输入参数 <br>

* 返回类型

*/

public MailUtils(String to String from String *** tpServer

String username String password String subject String content) {

this to = to

this from = from

this host = *** tpServer

this username = username

this password = password

this subject = subject

ntent = content

}

/**

* <br>

* 方法说明 设置邮件服务器地址 <br>

* 输入参数 String host 邮件服务器地址名称 <br>

* 返回类型

*/

public void setHost(String host) {

this host = host

}

/**

* <br>

* 方法说明 设置登录服务器校验密码 <br>

* 输入参数 <br>

* 返回类型

*/

public void setPassWord(String pwd) {

this password = pwd

}

/**

* <br>

* 方法说明 设置登录服务器校验用户 <br>

* 输入参数 <br>

* 返回类型

*/

public void setUserName(String usn) {

this username = usn

}

/**

* <br>

* 方法说明 设置邮件发送目的邮箱 <br>

* 输入参数 <br>

* 返回类型

*/

public void setTo(String to) {

this to = to

}

/**

* <br>

* 方法说明 设置邮件发送源邮箱 <br>

* 输入参数 <br>

* 返回类型

*/

public void setFrom(String from) {

this from = from

}

/**

* <br>

* 方法说明 设置邮件主题 <br>

* 输入参数 <br>

* 返回类型

*/

public void setSubject(String subject) {

this subject = subject

}

/**

* <br>

* 方法说明 设置邮件内容 <br>

* 输入参数 <br>

* 返回类型

*/

public void setContent(String content) {

ntent = content

}

/**

* <br>

* 方法说明 把主题转换为中文 <br>

* 输入参数 String strText <br>

* 返回类型

*/

public String transferChinese(String strText) {

try {

strText = MimeUtility encodeText(new String(strText getBytes()

GB ) GB B )

} catch (Exception e) {

e printStackTrace()

}

return strText

}

/**

* <br>

* 方法说明 往附件组合中添加附件 <br>

* 输入参数 <br>

* 返回类型

*/

public void attachfile(String fname) {

file addElement(fname)

}

/**

* <br>

* 方法说明 发送邮件 <br>

* 输入参数 <br>

* 返回类型 boolean 成功为true 反之为false

*/

public boolean sendMail() {

// 构造mail session

Properties props = new Properties()

props put( mail *** tp host host)

props put( mail *** tp auth true )

Session session = Session getDefaultInstance(props

new Authenticator() {

public PasswordAuthentication getPasswordAuthentication() {

return new PasswordAuthentication(username password)

}

})

//Session session = Session getDefaultInstance(props)

//      Session session = Session getDefaultInstance(props null)

try {

// 构造MimeMessage 并设定基本的值

MimeMessage msg = new MimeMessage(session)

//MimeMessage msg = new MimeMessage()

msg setFrom(new InternetAddress(from))

//msg addRecipients(Message RecipientType TO address)//这个只能是给一个人发送email

msg setRecipients(Message RecipientType BCC InternetAddress parse(to))

subject = transferChinese(subject)

msg setSubject(subject)

// 构造Multipart

Multipart mp = new MimeMultipart()

// 向Multipart添加正文

MimeBodyPart mbpContent = new MimeBodyPart()

mbpContent setContent(content text/charset=gb )

// 向MimeMessage添加(Multipart代表正文)

mp addBodyPart(mbpContent)

// 向Multipart添加附件

Enumeration efile = file elements()

while (efile hasMoreElements()) {

MimeBodyPart mbpFile = new MimeBodyPart()

filename = efile nextElement() toString()

FileDataSource fds = new FileDataSource(filename)

mbpFile setDataHandler(new DataHandler(fds))

mbpFile setFileName(fds getName())

// 向MimeMessage添加(Multipart代表附件)

mp addBodyPart(mbpFile)

}

file removeAllElements()

// 向Multipart添加MimeMessage

msg setContent(mp)

msg setSentDate(new Date())

msg saveChanges()

// 发送邮件

Transport transport = session getTransport( *** tp )

nnect(host username password)

transport sendMessage(msg msg getAllRecipients())

transport close()

} catch (Exception mex) {

mex printStackTrace()

//          Exception ex = null

//          if ((ex = mex getNextException()) != null) {

//              ex printStackTrace()

//          }

return false

}

return true

}

/**

* <br>

* 方法说明 主方法 用于测试 <br>

* 输入参数 <br>

* 返回类型

*/

public static void main(String[] args) {

MailUtils sendmail = new MailUtils()

sendmail setHost( )

sendmail setUserName( se )

sendmail setPassWord( bric )

sendmail setTo( che )

sendmail setFrom( se )

sendmail setSubject( 你好 这是测试! )

sendmail setContent( 你好这是一个带多附件的测试! )

// Mail sendmail = new

// Mail( du_jiang 你好 胃 你好吗? )

sendmail attachfile( d:\\news rar )

sendmail attachfile( d:\\jhjl rar )

System out println(sendmail sendMail())

}

lishixinzhi/Article/program/Java/hx/201311/25753

java mail发带附近件的程序,你搜一下,有例子

这个不是上传到邮件服务器,是发送邮件时,包含在邮件中,

而你在网页邮箱里看到的,是用后台程序解析完邮件,将文件提取出来,放到服务器上,提供下载。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11633489.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存