我在写javamail代码的时候,想让收信人的名称显示在outlook中,但是没法设置,
msg.addRecipients(Message.RecipientType.TO,InternetAddress.parse(to,false));
其中第一个参数是发送类型,也就是主送,第二个是收信人的地址。
但是发信人的能设置,
Address address = new InternetAddress(mailFrom,sender,mailEncoding);
第一个是发信人的地址,第二个是显示在outlook中的名字,第三个是UTF—8哪位大侠知道还有什么地方可以设置啊?
msg.addRecipients(Message.RecipientType.TO,InternetAddress.parse(to,false));
其中第一个参数是发送类型,也就是主送,第二个是收信人的地址。
但是发信人的能设置,
Address address = new InternetAddress(mailFrom,sender,mailEncoding);
第一个是发信人的地址,第二个是显示在outlook中的名字,第三个是UTF—8哪位大侠知道还有什么地方可以设置啊?
解决方案 »
- 帮忙看一下这个java程序怎么会报错呢?
- 要做个打字记时的东西希望大家帮忙进来看看
- 下载后的 jar 怎样使用?
- 如果将多个程序用到的jar包放到公用jar包中去,让其它jar直接调用
- qnzu(大风)请进接分:回答文件流问题
- 如何将字符串转化为数字?
- 有关javaScript
- 请问各位高手,JAVA里的FILE对像中的separator属性是作什么的??
- 请问statement和resultset的关闭先后次序是否有规定,应该哪个先关闭?
- 微软微软我恨你,就象老鼠恨猫咪,最新新闻:微软阻碍Java普及 Sun大失所望
- 一个感觉比较奇怪的基础问题:报错:没有找到main方法
- 求List中重复的个数!并列出来!
* @author Administrator
*
*/
public class SendMail { // 邮件服务器
private static String SmtpHostName = "smtp.gmail.com"; // 发件人邮箱
private static String EmailFrom = "[email protected]"; // 发件人账号
private static String UserName = "[email protected]"; // 发件人密码
private static String UserPwd = "44Q550"; // smtp port
private static int HostPort = 465; // 字符集
private static String charset = "UTF-8"; // 标题
private static String pwdTitle = "百纷网-密码找回邮件"; /**
* 邮件正文类型(Text文本格式)
*/
public static int text = 1; /**
* 邮件正文类型(HTML格式)
*/
public static int html = 2; /**
* @param emailTo
* 收信人邮箱
* @param emailTitle
* 邮件主题
* @param emailBody
* 邮件正文
* @param bodyType
* 正文类型(text,Html)
* @return boolean
*/
public boolean sendEmail(String emailTo, String username, String userpwd) { boolean flag = false; flag = sendPwd(emailTo, username, userpwd); return flag;
} private boolean sendPwd(String emailTo, String userName, String pwd) { String msg = MailContents.getPwdHtmlOfEmail(userName, pwd);
try {
HtmlEmail email = new HtmlEmail();
email.setHostName(SmtpHostName);
email.setSSL(true);
email.setSmtpPort(HostPort);
email.addTo(emailTo);
email.setFrom(EmailFrom);
email.setAuthentication(UserName, UserPwd);
email.setCharset(charset);
email.setSubject(pwdTitle);
email.setHtmlMsg(msg);
email.send();
System.out.println(msg);
System.out.println("The SimpleEmail send sucessful!!!");
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
} }// public static void main(String[] args) {
// new SendMail().sendEmail("[email protected]", "aaaa", "bbbbbb");
// }
}
我现在用的。
可以参考下,用的comman-mail 很好用。可以google下
附件内容的设置一部分:
MimeMessage msg;
String subject=“testテスト件名”;
String text = ”本文honbunテスト”;
String to = "[email protected]";
String mailEncoding = "UTF-8"
String textMimeType = "text/plain; charset=" + mailEncoding ;
// 件名の設定
msg.setSubject(subject == null ? "" : subject,mailEncoding);
// 本文の設定
mTextPart.setContent(text == null ? "" : text,textMimeType);
mPart.addBodyPart(mTextPart);
msg.setContent(mPart);
// 受信者の設定(暂时只写一个收信者)
msg.addRecipients(Message.RecipientType.TO,InternetAddress.parse(to,false));
// 送信者のメールアドレスの設定
address = new InternetAddress("[email protected]","発送者",mailEncoding);
msg.setFrom(address);
// 送信時刻の設定
msg.setSentDate(new Date());以上就是除了附件之外的邮件内容,下面是在outlook中收到的邮件;其中送信者上显示【発送者】,但是收信者显示的是我定义的地址,也就是[email protected],比如我想让他显示[收信者],这个能实现吗?
我想只要用outlook的就应该能发现这个问题了。