`
kjkhi
  • 浏览: 184761 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

spring mail 通过HTTP代理发送邮件

 
阅读更多

      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>

 

 

1
2
分享到:
评论

相关推荐

    spring mail通过代理发送邮件

    标题中的“spring mail通过代理发送邮件”指的是使用Spring框架中的JavaMailSender接口和相关的支持类,通过设置代理服务器来发送电子邮件。在某些网络环境中,直接访问SMTP服务器可能会受到限制,这时就需要通过...

    Spring mail 使用多个账号发送带有附件的HTML邮件

    在IT行业中,Spring框架是Java开发中的...通过理解Spring Mail的工作原理和JavaMail API,开发者可以有效地实现代理邮件发送,并确保邮件的可靠性和安全性。同时,了解相关工具和最佳实践将有助于优化和调试邮件服务。

    spring发送邮件所需jar包

    总结来说,Spring发送邮件需要`spring-context`、`spring-context-support`、`java-mail`、`javax.activation`这些核心库,以及可能需要的测试库`junit`。理解和掌握这些库的作用及如何配置它们,对于实现Spring中的...

    Java开发的邮件代理服务器

    3. 发件:当用户通过代理服务器发送邮件时,服务器会使用SMTP向目标邮件服务器发送邮件。JavaMail API同样在发送邮件时起到关键作用,它允许设置邮件头信息(如发件人、收件人、主题等)、添加附件,以及选择适当的...

    spring integration in action

    - **邮件发送:** 解释了如何使用 Spring Integration 发送电子邮件。 - **邮件接收:** 讨论了如何接收电子邮件并将其转化为消息流的一部分。 - **邮件集成示例:** 提供了一个实际的邮件集成案例研究。 **11: ...

    spring4.1核心包

    这个jar文件包含支持缓存Cache(ehcache)、JCA、JMX、邮件服务(Java Mail、COS Mail)、任务计划Scheduling(Timer、Quartz)方面的类。 UI方面的用来与模板(Templating)引擎如 Velocity、FreeMarker、...

    Spring Boot + RabbitMQ发生邮件(保证消息 100% 投递成功并被消费).docx

    10. **幂等性处理**:通过动态代理或拦截器,确保邮件服务在接收到相同消息时不会重复发送。消费端确认消息前,先检查消息是否已处理过,避免重复操作。 以上是使用Spring Boot和RabbitMQ实现邮件发送的一个全面...

    spring技术手册demo2

    《Spring技术手册Demo2:远程、邮件与任务调度——RMI、Quartz和Mail整合》 在Spring框架中,远程调用、定时任务和邮件发送是企业级应用中常见的功能需求。Spring提供了丰富的支持,使得开发者能够轻松地实现这些...

    开源框架 Spring Gossip

    RMI Hessian、 Burlap Http Invoker 邮件 对于邮件发送服务的支援是由Spring的 org.springframework.mail.MailSender介面所定义,它有两个实作类别, org.springframework.mail.cos....

    官方原版源码 spring-framework-4.3.29.RELEASE.zip

    `org.springframework.scheduling`包下的`TaskExecutor`和`TaskScheduler`接口用于异步任务处理,而`org.springframework.mail`包提供了邮件发送的功能。`Cache`包则提供了缓存抽象,如基于` Ehcache`和`Redis`的...

    spring boot2.0 demo

    Mail组件则允许应用发送电子邮件,Spring Boot提供了方便的邮件服务配置,包括SMTP服务器设置、邮件模板等。 在"sdgs-paas-parent"这个压缩包文件中,可能包含了整个项目的父模块,包括一些共用的配置、依赖管理和...

    springboot邮件服务1

    `sendMail`方法用于发送邮件,它接受标题、内容和接收者邮箱作为参数,并使用`SimpleMailMessage`对象进行封装,最后通过`mailSender.send(message)`发送邮件。 ```java @Service public class MailService { ...

    spring框架各jar包详解

    如果你想要使用 Spring 邮件支持的 JavaMail 实现,则需要 activation.jar 和 mail.jar 文件。要让 Hibernate 使用 JCA Connector 则需 connector-api.jar,使用 Spring 的 JMS 实现则需 jms.jar 文件。

    Spring Boot

    7. **Mail**:Spring Boot 提供了发送电子邮件的能力,通过 `JavaMailSender` 接口和相关的配置,可以轻松发送文本、HTML 或附件邮件。 8. **FastDFS**:FastDFS 是一个轻量级的分布式文件系统,特别适合存储大量小...

    javamail-1_3.zip内含mail.jar

    它支持通过SMTP(简单邮件传输协议)直接发送邮件,或者通过SMTP代理。 2. **邮件接收**:JavaMail API允许程序从POP3或IMAP服务器接收邮件。它可以处理多消息的邮箱,提供遍历、读取、删除邮件等功能。 3. **MIME...

    好多人找不到源代码,此处提供spring源代码

    例如,`org.springframework.test`提供了测试支持,`org.springframework.scheduling`则包含了定时任务的处理,`org.springframework.mail`用于发送电子邮件。 通过研究这个`org`目录下的源代码,开发者可以深入...

    整合blazeds和spring需要的jar包

    - `activation.jar` 和 `javax.mail.jar`: 如果你需要通过Blazeds发送邮件,这两者是必须的。 4. **整合步骤**: - 首先,确保你的项目中包含了上述提到的所有jar包。 - 在Spring配置文件中,定义你需要暴露给...

    Linux centos7下使用postfix/dovecot搭建自己的SMTP邮件服务器测试代码

    8. **测试邮件服务器**: 使用`telnet`工具或Spring Boot的`springmail`或`springbootemail`库测试SMTP服务器的连通性。例如,使用Spring Boot发送邮件,需在配置文件中设置SMTP服务器的相关参数,如主机、端口、...

Global site tag (gtag.js) - Google Analytics