`
菜鸟级JAVA
  • 浏览: 96182 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

用java代码发送邮件 附件

阅读更多
PS:3种示例的代码都在附件压缩包里,每个包一种示例,独立运行
PS:使用的时候请修改配置文件和代码中的邮箱地址和密码


最近项目中新增了一个功能:自定义异常信息,保存到数据库表中,通过定时任务实时的把异常信息邮件通知给网站维护人员。
网上找了一些示例,整理如下:
示例1:最基本的demo,配置信息在代码里写死,不方便修改



示例2:可配置demo,有文本和html两种发送方式



示例3:可配置,支持附件上传



开发中碰到的的异常
DEBUG SMTP: trying to connect to host "localhost", port 25, isSSL false
javax.mail.SendFailedException: Send failure (javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25 (java.net.ConnectException: Connection refused: connect))
	at javax.mail.Transport.send(Transport.java:163)
	at javax.mail.Transport.send(Transport.java:48)
	at com.wasu.util.Test.main(Test.java:51)
Caused by: javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25 (java.net.ConnectException: Connection refused: connect)
	at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1961)
	at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:654)
	at javax.mail.Service.connect(Service.java:254)
	at javax.mail.Service.connect(Service.java:85)
	at javax.mail.Service.connect(Service.java:70)
	at javax.mail.Transport.send(Transport.java:94)
	... 2 more
Caused by: java.net.ConnectException: Connection refused: connect
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
	at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
	at java.net.Socket.connect(Socket.java:529)
	at java.net.Socket.connect(Socket.java:478)
	at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:321)
	at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:237)
	at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1927)
	... 7 more


原因:之前使用的是maven库中的mail-1.4.7.jar包
解决办法:使用mail.jar的本地包(此包在附件demo中有)
不知道这2个包到底有啥区别,反正用1.4.7的包怎样都不行,一直爆上面的异常,使用mail.jar的包就搞定了。


15年还运行正常的代码16年拿来使用的时候出问题了:
javax.mail.SendFailedException: Sending failed;
  nested exception is:
javax.mail.MessagingException: Unknown SMTP host: smtp.163.com;
  nested exception is:
java.net.UnknownHostException: smtp.163.com
at javax.mail.Transport.send0(Transport.java:219)
at javax.mail.Transport.send(Transport.java:81)
at email.send1.Test.main(Test.java:54)
15年的时候使用163和qq都可以正常发送邮件的,16年使用的时候出现上面的错误,最终我换成企业邮箱来发送邮件就正常了。
  • 大小: 481.9 KB
  • 大小: 445.5 KB
  • 大小: 686.7 KB
1
2
分享到:
评论

相关推荐

    发送邮件及邮件附件java代码实例(支持多附件,群发送).pdf

    【Java 发送邮件及邮件附件】 在Java编程中,发送邮件及附加文件是一项常见的任务,这通常涉及到SMTP(Simple Mail Transfer Protocol)协议。这里我们分析的`Mail.java`类提供了一个实现此功能的示例,它使用了...

    java Exchange收发邮件加附件

    以下是一个简单的发送邮件带附件的Java代码示例: ```java ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP1); ExchangeCredentials credentials = new WebCredentials(...

    发送邮件及邮件附件java代码实例

    ### 发送邮件及邮件附件Java代码实例解析 #### 一、引言 电子邮件自问世以来,在人们的日常交流和工作中占据着不可替代的地位。随着互联网技术的快速发展,电子邮件系统的功能也日益强大,支持发送文本、图片、文档...

    java实现发送邮件(普通邮件和带附件)功能

    这个项目提供了完整的代码示例,演示了如何在Java程序中实现发送普通邮件以及带有附件的功能。以下是对这些功能的详细解释: 首先,发送普通邮件涉及到的主要接口是`javax.mail.Session`、`javax.mail.Transport`和...

    Java发送outlook邮件

    总之,Java发送Outlook邮件主要涉及JavaMail API的使用,包括配置SMTP服务器、创建邮件对象、设置邮件属性、添加附件和发送邮件。对于Notes邮件,可能需要使用IBM Domino Java API。理解这些概念和技术是Java开发者...

    用java代码发邮件,真是牛啊,可群发,也可发附件

    在本文中,我们将深入探讨如何使用Java代码实现邮件发送,包括群发和添加附件的功能。 首先,要实现这个功能,我们需要引入JavaMail API,这是一个开源库,提供了处理电子邮件所需的所有接口和类。在Eclipse开发...

    java 发邮件带excel附件,以流的形式发送附件,不生成excel文件

    现在,我们有了Excel数据的字节数组,可以将其作为邮件附件添加: ```java import javax.mail.util.ByteArrayDataSource; import javax.activation.DataSource; // 创建DataSource对象 DataSource dataSource = ...

    java 邮件发送 可带附件

    Java邮件发送功能是Java开发中常见的一项...通过以上步骤和代码,你可以实现使用Java发送带有附件的邮件。不过,实际开发中,你可能还需要考虑其他因素,如使用模板引擎生成邮件内容、批量发送邮件、错误重试策略等。

    Java查询OutLook邮件代码

    本篇将详细介绍如何使用Java来查询OutLook邮件。 首先,我们需要理解的是,Outlook邮件主要存储在Microsoft Exchange Server或者使用IMAP/POP3协议访问的邮箱中。Java通过JavaMail API与这些服务器进行通信。...

    java发邮件 带附件 多媒体邮件

    根据提供的文件信息,本文将详细解释如何使用Java发送带有附件及多媒体内容(如图片)的电子邮件。本示例代码及说明适用于希望利用Java Mail API发送包含丰富格式内容邮件的开发者。 ### Java 发送带有附件及多媒体...

    Java实现发送邮件内容+附件

    在Java编程环境中,发送邮件是一项常见的任务,尤其在企业级应用和自动化...在提供的压缩包文件“发送邮件小程序”中,应该包含了实现这一功能的完整Java代码示例,你可以参考其结构和方法来构建自己的邮件发送功能。

    java开发实现163邮件发送(支持附件

    同时,为了提高代码的可维护性和测试性,可以考虑使用依赖注入来管理`Session`对象,以及使用策略模式处理不同类型的邮件内容(如纯文本、HTML或带附件的邮件)。 总结,通过JavaMail API和163邮箱的SMTP服务,我们...

    java发送邮件源代码带附件可抄送

    2. `activation`:包含邮件激活框架,用于识别和处理不同类型的邮件附件。 在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml <groupId>com.sun.mail</groupId> <artifactId>javax.mail <version>...

    java Mail 发送邮件及邮件附件

    Java Mail 发送邮件及邮件附件 Java Mail 是一个广泛使用的 Java 库,用于发送电子邮件。以下是 Java Mail 发送邮件及邮件附件的知识点。 Java Mail 简介 Java Mail 是一个 Java 库,提供了发送电子邮件的功能。...

    java代码发送邮件及说明 CSDN下载(jianhuili)

    这个CSDN下载资源,"jianhuili"分享的“java代码发送邮件及说明”,为我们提供了一个实用的Java邮件发送示例。下面,我们将深入探讨Java如何实现邮件发送,以及可能涉及到的关键知识点。 首先,Java Mail API是发送...

    java邮件发送(含附件发送)源码

    在本教程中,我们将深入探讨如何使用JavaMail API来实现邮件发送,特别是含附件的邮件。 首先,我们需要引入JavaMail API的相关依赖。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml <groupId>...

    java实现发送邮件功能源码+jar

    本教程将深入讲解如何使用Java实现邮件发送功能,并提供相关的源码和jar包。 1. **JavaMail API**: JavaMail API 是Java平台上用于处理电子邮件的主要库,它提供了一系列的接口和类,使得开发者能够方便地创建、...

    Java实现发送邮件(带附件)功能

    Java代码实现发送邮件功能,支持发送带有附件的。需要直接拿走

Global site tag (gtag.js) - Google Analytics