我在eclipse IDE中使用Spring Mail尝试发送电子邮件,但控制台总是打印“连接超时”异常。我已经确认可以通过telnet连接到邮件服务器。我对Spring MVC框架相当陌生。可能是因为我没有配置spring mvc。xml对吗?不过,我没有在代码中使用依赖项注入。以下是代码和例外情况。感谢您的宝贵意见。
package xxx.web.controller;
import java.io.File;
import java.util.Properties;
import javax.servlet.http.HttpServletRequest;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import org.springframework.core.io.FileSystemResource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.mail.MailException;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
@Controller
public class SendMailController {
private JavaMailSenderImpl mailSender;
@RequestMapping(value ="/sendMail", method = RequestMethod.GET)
public void sendMail(HttpServletRequest request) throws MessagingException{
mailSender = new JavaMailSenderImpl();
mailSender.setHost("smtp.sina.com"); //configure mail server
mailSender.setUsername("**********@sina.com");
mailSender.setPassword("*******");
MimeMessage msg = mailSender.createMimeMessage();
MimeMessageHelper msgHelper = new MimeMessageHelper(msg, true, "utf-8");
msgHelper.setTo("********@qq.com");
msgHelper.setFrom("*********@sina.com");
msgHelper.setSubject("Testing Subject");
msgHelper.setText("This is a test mail!");
FileSystemResource file = new FileSystemResource(new File("D:/test.png"));
msgHelper.addAttachment("test.png", file); //add an attachment
Properties prop = new Properties();
prop.put("mail.smtp.auth", "true");
prop.put("mail.smtp.timeout", "25000");
mailSender.setJavaMailProperties(prop);
mailSender.send(msg);
System.out.println("Email sent successfully!");
}
}
在控制台中打印的异常:
消息请求处理失败;嵌套的异常是org。springframework。邮政MailSendException:邮件服务器连接失败;嵌套的异常是com。太阳邮政util。MailConnectException:**
无法连接到主机,端口:smtp.sina.com,25;超时-1;
**
描述服务器遇到了一个内部错误,使其无法满足此请求。
例外
组织。springframework。网状物util。NestedServletException:请求处理失败;嵌套的异常是org。springframework。邮政MailSendException:邮件服务器连接失败;嵌套的异常是com。太阳邮政util。MailConnectException:无法连接到主机,端口:smtp。新浪。com,25岁;超时-1;嵌套的例外是:java。网ConnectException:连接超时:连接。失败消息:com。太阳邮政util。MailConnectException:无法连接到主机,端口:smtp。新浪。com,25岁;超时-1;嵌套的例外是:java。网连接异常:连接超时:连接;消息异常(1)为:失败消息1:com。太阳邮政util。MailConnectException:无法连接到主机,端口:smtp。新浪。com,25岁;超时-1;嵌套的例外是:java。网连接异常:连接超时:连接组织。springframework。网状物servlet。FrameworkServlet。processRequest(FrameworkServlet.java:948)org。springframework。网状物servlet。FrameworkServlet。doGet(FrameworkServlet.java:827)javax。servlet。http。HttpServlet。服务(HttpServlet.java:620)组织。springframework。网状物servlet。FrameworkServlet。服务(FrameworkServlet.java:812)javax。servlet。http。HttpServlet。服务(HttpServlet.java:727)org。阿帕奇。公猫websocket。服务器WsFilter。doFilter(WsFilter.java:52)org。springframework。网状物滤器字符编码过滤器。doFilterInternal(CharacterEncodingFilter.java:88)org。springframework。网状物滤器OncePerRequestFilter。doFilter(OncePerRequestFilter.java:107)
首先,你必须确保你的连接正常;要进行检查,请打开命令行并执行以下命令:
telnet <yourservername> smtp
HELO <yourservername and then enter>
MAIL from: <mailaddr and then enter>
RCPT to: <mailaddr and then enter>
DATA
354 End data with <CR><LF>.<CR><LF>
From: <mailaddr and then enter>
To: <mailaddr and then enter>
Subject: test
This is test
.
250 2.0.0 Ok: queued as 4C67244003
QUIT <and then enter>
221 2.0.0 Bye
Connection closed by foreign host.
如果一切正常,那么这是Spring的问题,或者您需要在邮件服务器上进行身份验证(或者更简单地说,您的邮件服务器不允许在其自身网络之外进行连接)
安杰洛
代码片段如下所示: 如果有人有决议,请帮忙?
我遇到了一个问题,JAVA mail(JavaMail Version1.5.3)在发送电子邮件消息时抛出了一个未连接异常,而电子邮件确实被发送出去了。我从4周前就开始遇到这个问题了。该问题似乎主要与托管的exchange服务器有关。例外情况如下:
一些背景: 我有一个使用3G或4G数据连接的Android应用程序。但它也连接到一个wifi热点,以便在热点设备和应用程序之间传输一些数据。 我想做的是:创建一个到这个wifi热点的套接字连接,并通过这个套接字发送/接收数据。 我添加了以下代码,以确保我们在创建套接字时使用wifi热点wifi(否则它有时最终会使用数据连接): 这似乎没问题。但是,我在尝试连接到远程服务器地址时发现问题。下面是我正
我相对来说是android开发的新手。我正在开发一个android应用程序,向web服务器发送请求并解析JSON对象。在与服务器通信时,我经常收到< code > Java . net . socket time out exception:Connection timed out 异常。有时它会完美地工作,没有任何问题。我知道这个问题已经被问过很多次了。但仍然,我没有得到任何满意的解决这个问题的
我有以下设置: 我正在尝试处理服务器关闭,用户出现连接超时异常的情况,这是我的日志记录: 完整日志记录:http://pastebin.com/gscCGb7x 有没有办法将其转化为改造失败的方法,这样我就可以在那里处理它? 提前感谢!
问题内容: 我在代码中使用了RMI: 这些是4个.java文件。 接下来,我编译所有这些文件。然后创建一个using 。之后,我使用来在服务器端启动rmi注册表。然后,我开始使用服务器,最后使用客户端。 但是什么也没发生 客户端抛出的异常是 原因是什么,我该如何解决? 在客户端计算机上,这些是以下.class文件,在服务器端 问题答案: 错误消息说明了一切:您的连接超时。这意味着您的请求在某个(默