javamail发送邮件报错,求指教。

问题描述

javamail发送邮件报错,求指教。

前段时间写了一个简单的javamail发送邮件的功能,测试功能正常后就没管了。今天再次测试的时候,发现居然报错了。求大神指点指点。
package com.temp.test;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.NoSuchProviderException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

/**
@author xuyl@scoretk.com
@date 2014-2-11 上午06:53:10
*/
public class MailUtil {
static int port = 25;
static String server = "smtp.163.com";//邮件服务器mail.cpip.net.cn
static String from = "张三";//发送者,显示的发件人名字
static String user = "cqsiai@163.com";//发送者邮箱地址
static String password = "admin123";//密码
public static void sendEmail(String email, String subject, String body) throws UnsupportedEncodingException {
try {
Properties props = new Properties();
props.put("mail.smtp.host", server);
props.put("mail.smtp.port", String.valueOf(port));
props.put("mail.smtp.auth", "true");
Transport transport = null;
Session session = Session.getDefaultInstance(props, null);
transport = session.getTransport("smtp");
transport.connect(server, user, password);
MimeMessage msg = new MimeMessage(session);
msg.setSentDate(new Date());
InternetAddress fromAddress = new InternetAddress(user,from,"UTF-8");
msg.setFrom(fromAddress);
InternetAddress[] toAddress = new InternetAddress[1];
toAddress[0] = new InternetAddress(email);
msg.setRecipients(Message.RecipientType.TO, toAddress);
msg.setSubject(subject, "UTF-8");

msg.setText(body, "UTF-8");
msg.saveChanges();
transport.sendMessage(msg, msg.getAllRecipients());
} catch (NoSuchProviderException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
}
}
public static void main(String args[]) throws UnsupportedEncodingException
{

        sendEmail("378675113@qq.com","邮件测试","hello");//收件人
        System.out.println("ok");
    }

}

报错内容:
javax.mail.MessagingException: IOException while sending message;
nested exception is:
javax.activation.UnsupportedDataTypeException: no object DCH for MIME type text/plain; charset=UTF-8
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1177)
at com.temp.test.MailUtil.sendEmail(MailUtil.java:45)
at com.temp.test.MailUtil.main(MailUtil.java:55)
Caused by: javax.activation.UnsupportedDataTypeException: no object DCH for MIME type text/plain; charset=UTF-8
at javax.activation.ObjectDataContentHandler.writeTo(DataHandler.java:841)
at javax.activation.DataHandler.writeTo(DataHandler.java:295)
at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1485)
at javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1773)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1121)
... 2 more
ok

时间: 2025-01-21 13:15:05

javamail发送邮件报错,求指教。的相关文章

代码-javamail 发送邮件报错Not connected

问题描述 javamail 发送邮件报错Not connected javamail 发送邮件报错Not connected at com.sun.mail.smtp.Smtp.checkConnected... 以下是报错信息: 解决方案 php使用smtp发送邮件报错Cannot connenct to relay host解决JMail发送邮件报错The message was undeliverable. All servers failed to receive the message

spring mvc-想把用户名存在session中 在方法中加request参数后运行报错 求指教~

问题描述 想把用户名存在session中 在方法中加request参数后运行报错 求指教~ 我用的是spring+hibernate~ 修改后: public class LoginAction extends SimpleFormController{ private Login login; private String viewPage; private String successPage; //实现onSubmit()方法 public ModelAndView onSubmit(Ob

cocos2d x-在Xcode中安装cocos2d-x老报错求大神指教

问题描述 在Xcode中安装cocos2d-x老报错求大神指教 taorenwangtekiMacBook-Pro:~ taorenwang$ cd /Users/taorenwang/Desktop taorenwangtekiMacBook-Pro:Desktop taorenwang$ cd cocos2d-2.1rc0-x-2.1.3/ taorenwangtekiMacBook-Pro:cocos2d-2.1rc0-x-2.1.3 taorenwang$ ./install-templ

node js-linux下安装node.js报错,求大神解决

问题描述 linux下安装node.js报错,求大神解决 目前正要部署应用到linux服务器上 在安装node.js时各种报错,首先是python版本问题,后来装了python2.7.5, 在执行./configure时,出现这个错误 ERROR:root:code for hash md5 was not found. Traceback (most recent call last): File "/usr/local/lib/python2.7/hashlib.py", line

Genymoation安装之后打开虚拟机报错求大神指点

问题描述 Genymoation安装之后打开虚拟机报错求大神指点 错误是这样的 求大神指点,谢谢 解决方案 多启动几次,如果还不行,就启动virtualbox,在里面看看对应的虚拟机是否正常可以启动,或者先关掉它

大数据-orcale大量数据分组查询报错求大神指点

问题描述 orcale大量数据分组查询报错求大神指点 对一个表数据进行分组查询,但是数据量太大了,当时是3000w条,跑着就报错了,数据库内部错误,也不是很懂.想请教下group by的时候是否数据量太多会报错,如果是它可以承受多大的数据量分组查询. 解决方案 肯定会报错,数据量大就会请求超时 解决方案二: 建议使用索引,给需要分组的字段加索引 解决方案三: 你可以试试根据你当前数据库的配置情况,进行分组查询的时候,使用多线程的方式进行查询 例如: select /*+ parallel(t,1

visual c++-新手Visual C++ 2008编译汇编报错求高手指点!来人啊

问题描述 新手Visual C++ 2008编译汇编报错求高手指点!来人啊 正在创建临时文件"c:Documents and SettingsfengyuMy DocumentsVisual Studio 2008ProjectsmasmmasmDebugRSP00000F16563976.rsp",其内容为[/OUT:""C:Documents and SettingsfengyuMy DocumentsVisual Studio 2008Projectsmasm

调试-新手Visual C++ 2008编译汇编报错求高手指点!来人啊

问题描述 新手Visual C++ 2008编译汇编报错求高手指点!来人啊 正在创建临时文件"e:huibianmasmmasmDebugBAT00000135563700.bat",其内容为 [ @echo off ml.exe /c /nologo /Fo""Debug10.obj"" /I ""C:lnclude"" /W3 /Zi /errorReport:prompt /Ta.10.asm if

textview-Android开发动态TextView问题报错求解答

问题描述 Android开发动态TextView问题报错求解答 两个画图界面,我想在第一个界面上加入一个TextView动态显示当前整点温度数据的数值 下面这个是XML文件控件声明 下面是我画折线的类 计算textview高度">下面是我在这个类下面写的setText![然后安装后画曲线的界面就不动了,控件也不显示文本,最后强制退出,下面是报错内容 我想问这里为什么会出错,我要实现这个功能要怎么办才可以!!我猜出错的原因是不是不能在这个类下面写setText()方法啊?求解答 解决方案 S