论坛首页 Java版

用java代码调用系统默认mail程序的问题

浏览 1481 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
时间:2008-03-14 关键字: j2se
做项目的时候遇到个问题。
需要通过java代码调用系统的默认mail程序。
并且把一个文件作为附件添加到一个新邮件中。


用mailto可以除了不能加附件,其他的都可以
但是需求是一定要加一个附件进去
google了无果
本来以为java做不到,后来看到在MyEclipse里面右键一个文件,也可以send as mail attachement

请教这个应该怎么实现
除了JNI,有没有别的方法呢?

不能自己写个发mail程序发掉
一定要调用系统默认的mail程序,如outlook,notes等
一定要弄个附件进去
效果就像win里右键发送到,“通过邮件发送”,然后弹出来个新邮件一样

谢谢~
   
时间:2008-03-15
应该要jni配合吧……
   
请登录后投票
时间:2008-03-18
java可以加附件啊,你是要在html上么?
可以看一下apache的那个mail封装的
   
请登录后投票
时间:2008-03-18
peigen 写道
java可以加附件啊,你是要在html上么?
可以看一下apache的那个mail封装的


不是在html上
是一个java desktop程序
收集一些信息后,自动调用系统的默认邮件程序,
把收集的信息通过邮件附件新建一个mail

可以说具体点么?我看了,没有思路,谢谢!
   
请登录后投票
时间:2008-03-18
你能用命令行调用邮件程序吗?那么你可以试试用java执行系统命令的方法试试。
   
请登录后投票
时间:2008-03-20
魔力猫咪 写道
你能用命令行调用邮件程序吗?那么你可以试试用java执行系统命令的方法试试。

调用是可以
但是那样不就指定了具体是用outlook,还是用notes什么的吗?
outlook可以通过命令行调用加附件进去这个弄出来了
现在需要一个统一的解决,调用系统里默认的邮件程序。。。。

还是谢谢你的回复,给了我一些思路:)
   
请登录后投票
时间:2008-03-20
那么能用命令行调用默认邮件程序吗?
   
请登录后投票
时间:2008-03-20
刚才又去网上搜索了一下。发现JNA可以直接在运行期动态访问系统本地库。不用写任何JNI代码。你可以试试。应该可以调用Windows的本地API来调用默认邮件程序。
   
请登录后投票
时间:2008-03-21
JDK6中增加的java.awt.Desktop中的
引用

mail
public void mail(URI mailtoURI)
throws IOExceptionLaunches the mail composing window of the user default mail client, filling the message fields specified by a mailto: URI.
A mailto: URI can specify message fields including "to", "cc", "subject", "body", etc. See The mailto URL scheme (RFC 2368) for the mailto: URI specification details.


Parameters:
mailtoURI - the specified mailto: URI
   
请登录后投票
时间:2008-03-21
JDK6中增加的java.awt.Desktop中的
引用

mail
public void mail(URI mailtoURI)
throws IOExceptionLaunches the mail composing window of the user default mail client, filling the message fields specified by a mailto: URI.
A mailto: URI can specify message fields including "to", "cc", "subject", "body", etc. See The mailto URL scheme (RFC 2368) for the mailto: URI specification details.


Parameters:
mailtoURI - the specified mailto: URI
   
请登录后投票
论坛首页 Java版

跳转论坛:
JavaEye推荐
    快速回复 引用上一条消息 (Alt+S)