spring框架中org.springframework.mail.javamail这包实际上是对java.mail做而二次封装。发送邮件依然通过javamail实现。

而在官方文档中说明,javamail是不可以通过http代理发送邮件的。只能通过socks V4或者V5连接网络发送邮件。

目前的环境是,内网机器能过某个http代理连接网络上网。但是却没有提供socks代理服务器。也就是说,javamail直接通过这个代理服务器是不可能实现发送邮件功能的。

解决方案:

使用Httport这个二次代理软件,把远程smtp服务器映射到本机端口。然后设置javamail通过这个映射端口发送邮件。如smtp服务器映射端口为9025,则配置javamail的smtp服务器为:localhost:9025,则可以在内网只有http代理服务器的环境下实现发送邮件的功能。

示例代码:

JavaMailSender的配置:

<!-- javaMailSender -->
	<bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
		<property name="defaultEncoding" value="${email.encoding}"></property>
		<property name="host" value="${email.host}"></property>
		<property name="port" value="${email.port}"></property>
		<property name="username" value="${email.username}"></property>
		<property name="password" value="${email.password}"></property>
		<property name="protocol" value="${email.protocal}"></property>
		<property name="javaMailProperties">
			<props>
				<!-- 让服务器检验用户密码是否正确 -->
				<prop key="mail.smtp.auth">true</prop>
				<prop key="mail.smtp.timeout">180000</prop>
				<prop key="mail.debug">true</prop>
			</props>
		</property>
	</bean>
&nbsp; 首先 必须引进来三个jar包: compile ' java x. mail : mail :1.4.7'compile 'org.apache.commons:commons-e mail :1.3.2'compile ' java x.activation:activation:1.1'这是我gradle配置文件的配制方法。 1. Mail 对象 &nbsp;里面包含 发送邮件 的信息 import ... spring boot+Thymeleaf实现发送E mail 模板邮件 如何在 Spring Boot 应用中 发送邮件 以及使用非常简单强大的Thymeleaf模板引擎来制作邮件内容。 一、授权码 常用的电子协议有POP3,SMTP,IMAP,协议的具体区别就不进行详细介绍了。这里选择smtp协议进行演示。登录 邮箱 ,在设置中找到协议地址,点击开启。授权码只会显示一次,需要保存好。 下面是126 邮箱 对应的三种协议主机地址: smtp.126.com pop.126.com imap.126.com 二、导入pom依 e mail _username=782679034@qq.com # 邮箱 密码 #使用qq 邮箱 进行发送需要注意:首先需要开启:POP3/SMTP服务,其次 发送邮件 的密码需要使用在开启POP3/SMTP服务时候腾讯提供的第三方客户端... 开启后会得到一个16位授权码, 作为第三方使用邮件服务器的登录凭证. 注意: 修改 邮箱 密码后, 授权码会失效, 需要重新获取. 步骤2: 编写配置文件applicationContext-e mail .xml(此处使用xml配置方式): &amp;amp;amp;amp;lt;?xml version=&amp;amp;amp;quot;1.0&amp;amp;amp;quo 不管是工厂还是外贸公司,或者是SOHO,利用“伪EDM邮件营销”都可以用最小的代价,来获取询盘和订单。 而“伪EDM邮件营销”的核心技术,则是“裙发邮件”。裙发邮件的作用:以最高效的方式把邮件推送给客户,增大询盘获取几率。 邮件营销能否取得成效的关键因素在于,你的邮件发送量能否达到一个“海量”的级别。 我们不要幻想发送了几百封,1000封开发信,就能获取询盘和订单,这个几率实在是太小太小了... python标准库已包含对 http 的支持,通过很简单的办法就可以直接使用 http 代理 服务器获取网页数据:import http libhost,port = "192.168.131.54" , "8086" # http proxy server ip and portconn = http lib. HTTP Connection(host, port)conn.request(method,url)p...     我们是没办法使用 java mail 通过一般的 代理 服务器 发送邮件 的,比如下面的代码是没有效果的:         Properties props = System.getProperties();         props.setProperty("proxySet","true");         props.setProperty("ProxyHost","192.168.155.1... 服务器间传送文件参考文章 http ://www.baeldung.com/ http client-multipart-upload首先,引入发送 Http 请求的依赖&lt;dependency&gt; &lt;groupId&gt;org.apache. http components&lt;/groupId&gt; &lt;artifactId&gt; http client&lt;/artifa... HTTP (超文本传输协议)是用于在万维网服务器上传输超文本(HTML)到本地浏览器的传输协议基于TCP/IP(HTML文件、图片、查询结构等)采用C/S架构客户机通过浏览器去请求浏览器上就可以看到对应的图形界面,浏览器/服务器(B/S)Windows server IIS (Windows平台)apache(多平台)tomcat(多平台)nginx(多平台)在客户端使用浏览器通过URL向 HTTP 服务器发送请求URL(统一资源定位器):由三部分组成web服务器根据收到的请求直接向客户机响应信息针对于 HTTP 默 关于 Http Entity的用法 Http Entity表示 http 的request和resposne实体,它由消息头和消息体组成。 从 Http Entity中可以获取 http 请求头和回应头,也可以获取 http 请求体和回应体信息。 Http Entity的使用,与@RequestBody 、@ResponseBody类似。 Http Entity的典型应用是配合RestTemplate,在微服务项目中的应用(参见API示例) 用户登录示例: 步骤一:在login.jsp发送ajax请求,发送之前添加请求头信息 [size=large]当 发送邮件 需要通过 代理 服务器来完成时, java mail 连接服务器时,也必须设置 代理 服务器的地址和端口。如果不设置 代理 java mail 不能找到smtp服务器,会抛出异常。 设置 代理 和普通的 java mail 连接设置只有一点不同,就是声明系统变量时稍作改变即可! 以下是设置 代理 服务器的代码行, Properties props = System.getProp... 由于客户需要,本人开始尝试 JAVA 编码通过 HTTP 代理 发送邮件 。但一直出现“Sending the e mail to the following server failed : smtp.163.com:25”的异常错误。非常纠结,如果有高人看见这篇文章,请指点! 下面是具体实现方法: public String send Mail ByProxy(String mail ... 我们是没办法使用 java mail 通过一般的 代理 服务器 发送邮件 的,比如下面的代码是没有效果的: Properties props = System.getProperties(); props.setProperty("proxySet","true"); props.setProperty("ProxyHost","192.168.155.1"); Spring 框架提供了 Java Mail Sender接口及其实现类 Java Mail SenderImpl,基于这个类可以更加方便实现 发送邮件 功能。 在web工程中,可以把 Java Mail Sender交由 Spring IOC管理。如下面的配置: &lt;bean id=" java Mail Sender" class="org. spring framework. mail . java mail .Jav...