如何在Java ee项目中如何调用outlook发邮件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Java ee项目中如何调用outlook发邮件相关的知识,希望对你有一定的参考价值。

java mail调用outlook的方法例子

1 将邮件写入到文件的代码
msg.saveChanges();
File f = new File("d:/test.eml");
msg.writeTo(new FileOutputStream(f));
2 调用outlook的代码
Process p = Runtime.getRuntime().exec("cmd /C start msimn.exe /eml:d:/test.eml");
3 完整的代码如下
package code.jdk.mail;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Date;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Properties;
import java.util.Vector;

import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Address;
import javax.mail.AuthenticationFailedException;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
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;

public class EmailWriteToFile
// 定义发件人、收件人、SMTP服务器、用户名、密码、主题、内容等
private String displayName;

private String to;

private String from;

private String smtpServer;

private String username;

private String password;

private String subject;

private String content;

private boolean ifAuth; // 服务器是否要身份认证

private String filename = "";

private Vector file = new Vector(); // 用于保存发送附件的文件名的集合

private String contentType = "text/html";

private String charset = "utf-8";

public void addFile(String filename)
file.add(filename);


public String getContentType()
return contentType;


public void setContentType(String contentType)
this.contentType = contentType;


public String getCharset()
return charset;


public void setCharset(String charset)
this.charset = charset;


/**
* 设置SMTP服务器地址
*/
public void setSmtpServer(String smtpServer)
this.smtpServer = smtpServer;


/**
* 设置发件人的地址
*/
public void setFrom(String from)
this.from = from;


/**
* 设置显示的名称
*/
public void setDisplayName(String displayName)
this.displayName = displayName;


/**
* 设置服务器是否需要身份认证
*/
public void setIfAuth(boolean ifAuth)
this.ifAuth = ifAuth;


/**
* 设置E-mail用户名
*/
public void setUserName(String username)
this.username = username;


/**
* 设置E-mail密码
*/
public void setPassword(String password)
this.password = password;


/**
* 设置接收者
*/
public void setTo(String to)
this.to = to;


/**
* 设置主题
*/
public void setSubject(String subject)
this.subject = subject;


/**
* 设置主体内容
*/
public void setContent(String content)
this.content = content;


public EmailWriteToFile()



private int port = 25;

public int getPort()
return port;


public void setPort(int port)
this.port = port;


/**
* 发送邮件
*
* @throws IOException
* @throws FileNotFoundException
*/
public boolean send() throws FileNotFoundException, IOException
HashMap<String, String> map = new HashMap<String, String>();
map.put("state", "success");
String message = "邮件发送成功!";
Session session = null;
Properties props = System.getProperties();
props.put("mail.smtp.host", smtpServer);
props.put("mail.smtp.port", port);
try

props.put("mail.smtp.auth", "false");
session = Session.getDefaultInstance(props, null);

session.setDebug(false);
Transport trans = null;
Message msg = new MimeMessage(session);
try
Address from_address = new InternetAddress(from, displayName);
msg.setFrom(from_address);
catch (java.io.UnsupportedEncodingException e)
e.printStackTrace();

InternetAddress[] address = new InternetAddress(to) ;
msg.setRecipients(Message.RecipientType.TO, address);
msg.setSubject(subject);
Multipart mp = new MimeMultipart();
MimeBodyPart mbp = new MimeBodyPart();
mbp.setContent(content.toString(), getContentType() + ";charset=" + getCharset());
mp.addBodyPart(mbp);
if (!file.isEmpty()) // 有附件
Enumeration efile = file.elements();
while (efile.hasMoreElements())
mbp = new MimeBodyPart();
filename = efile.nextElement().toString(); // 选择出每一个附件名
FileDataSource fds = new FileDataSource(filename); // 得到数据源
mbp.setDataHandler(new DataHandler(fds)); // 得到附件本身并至入BodyPart
mbp.setFileName(MimeUtility.encodeText(fds.getName(), getCharset(),"B")); // 得到文件名同样至入BodyPart
mp.addBodyPart(mbp);

file.removeAllElements();

msg.setContent(mp); // Multipart加入到信件
msg.setSentDate(new Date()); // 设置信件头的发送日期
// 发送信件
msg.saveChanges();
File f = new File("d:/test.eml");
msg.writeTo(new FileOutputStream(f));

catch (AuthenticationFailedException e)
map.put("state", "failed");
message = "邮件发送失败!错误原因: " + "身份验证错误!";
e.printStackTrace();
return false;
catch (MessagingException e)
message = "邮件发送失败!错误原因: " + e.getMessage();
map.put("state", "failed");
e.printStackTrace();
Exception ex = null;
if ((ex = e.getNextException()) != null)
System.out.println(ex.toString());
ex.printStackTrace();

return false;

// System.out.println(" 提示信息:"+message);
map.put("message", message);
return true;


public static void main(String[] args) throws FileNotFoundException, IOException, InterruptedException
EmailWriteToFile o = new EmailWriteToFile();
o.setSmtpServer("localhost");
o.setFrom("from@from.com");
o.setDisplayName("TOM");
o.setTo("to@to.com");
o.setSubject("Test Subject");
o.setContent("Test Content");
o.setCharset("GBK");
o.addFile("e:/读我.txt");
o.send();
Process p = Runtime.getRuntime().exec("cmd /C start msimn.exe /eml:d:/test.eml");



参考技术A HTML中的mailto:dreamdu@163.com,看客户默认安装的邮箱工具,不一定就非得是outlook

java代码中发送邮件的话,可以用javaMail,参考例子在baidu上一搜能搜出一大堆。
参考技术B 参考:http://www.cnblogs.com/codeplus/archive/2011/10/30/2229391.html

outlook发邮件如何改预设字型颜色啊?每次都要自己改。

参考技术A

outlook发邮件如何改预设字型颜色啊?每次都要自己改。

以office2013为例:
档案-选项,开启OUTLOOK选项对话方块,点选左侧“邮件”选项,单击右侧的“信纸和字型”按钮,弹出“签名和信纸”对话方块,此对话方块中可以设定新邮件、答复或转发邮件等的字型格式和字型颜色。请叫我雷锋!

如何改变word预设字型颜色

我觉得你说的是不是要一开启WORD就使用你说的颜色?而不是黑色.
开启WORD----点选格式-----选择字型,开启字型对话方块------有一项是设定颜色的,选择你想要的颜色-----点选预设。完成设定。以后再开启WORD后,就可以使用这个颜色了,而不用每次都设定.
别忘了了采纳啊!

如何更改Windows Live Mail中的邮件预设字型,字号,字型颜色

首先,点选“工具”选项卡,这里边包含了彰显你个性化的所有选项,我就设定预设字型这一项,来和大家一起谈谈。依次点选:“工具”-“选项”。
在弹出的“选项”视窗中,包含了传送/接收邮件时所需的各种引数,例如邮件格式、邮件设定、首选引数、拼写检查等等,依次选择:“邮件格式”-“信纸和字型”。
在弹出的新视窗“签名和信纸”中,选择“个人信纸”。可以看到“字型”的选择为“使用主体中的字型”,这时,新邮件、答复或转发邮件下面的字型设定为灰色,不可操作。
将“字型”选择更改为“始终使用我设定的字型”,这样新邮件、答复或转发邮件下面的字型设定由灰色变为黑色,可以进行编辑了。
以“新邮件”的字型设定为例,点选“字型”按钮。可以根据自己的喜好,进行设定,例如我的习惯是将中文字型设定为微软雅黑、西文字型字型设定为新罗马,字型大小设定为五号,别的选项预设。
6
最后,新建邮件,试一下刚才字型设定的效果。

excel2007 如何更改预设字型颜色

    全选excel表

    点选字型工具栏下的下三角

    将字型颜色设成你需要的颜色,还可以设字型等

    然后你输入资料就是预设颜色了!

如何修改excel预设字型颜色设定?

excel中更改预设字型颜色的方法:
Excel中没有提供直接更改预设字型颜色的工具。
不过,可以换一种方式,这样操作。
比如需要设定excel的预设字型颜色为红色,可设定一个红色字型模板:
1、开启一张空白工作表。
2、按下CTRL+A,全选整张表,将字型颜色设为红色。
3、另存为,档名起名如模板01,储存型别选择“模板”,储存。
4、开启EXCEL,单击“档案/新建/模板01”,即可呼叫预设字型颜色是红色的模板。
在这个模板环境下的工作表里输入的文字颜色自动就为所设定的红色。
这样就可以间接的起到更改excel预设字型颜色。

求教如何更改微信预设字型颜色

excel中更改预设字型颜色的方法:
Excel中没有提供直接更改预设字型颜色的工具。
不过,可以换一种方式,这样操作。
比如需要设定excel的预设字型颜色为红色,可设定一个红色字型模板:
1、开启一张空白工作表。
2、按下CTRL+A,全选整张表,将字型颜色设为红色。
3、另存为,档名起名如模板01,储存型别选择“模板”,储存。
4、开启EXCEL,单击“档案/新建/模板01”,即可呼叫预设字型颜色是红色的模板。
在这个模板环境下的工作表里输入的文字颜色自动就为所设定的红色。
这样就可以间接的起到更改excel预设字型颜色。
回答不容易,希望能帮到您,满意请帮忙采纳一下,谢谢 !

很多网路游戏中预设字型颜色是黑色的,如何改变字型的颜色啊

QQ幻想:
在要打的字前打上 /C 然后01-30任意数字,就是不同的颜色了,记得C 要大写
/C后面+数字,/C00 白色,/C01 黄色,/C02 淡绿色,/C03 绿色,/C04 橘红色,/C05 橘红色,/C06 微兰的绿色,/C07 紫色,/C08 橘色

怎样还原outlook 预设字型颜色

以2007为例
1:选择工具选单——选项
2:选择【邮件格式】
信纸和字型:单击【信纸和字型】按钮
3:新邮件:单击【字型】,选择字型颜色黑,确定。

wps的PPT预设字型颜色怎么改

选单栏——检视——幻灯片母版:在里面修改。

foxmail 写邮件 如何修改预设字型?

选单中的"工具",选"邮件撰写信纸管理",
进入之后,用ctrl+A,全选整个页面,然后你再设定

以上是关于如何在Java ee项目中如何调用outlook发邮件的主要内容,如果未能解决你的问题,请参考以下文章

Excel如何录制宏通过outlook发邮件,每天都有要发一样的邮件,可能就是数据有些不同?

outlook发邮件如何改默认字体颜色啊?每次都要自己改。。。

用python调用outlook发邮件的问题

outlook发邮件如何改预设字型颜色啊?每次都要自己改。

如何在 Java EE 环境中实现请求限制?

c#代码怎么通过outlook发邮件