关于javamail发送邮件的问题

[code="java"][/code]package smack;

import java.security.Security;
import java.util.Date;
import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class JavaMailTest {
public static void main(String[] args) throws AddressException, MessagingException {
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";

      Properties props = System.getProperties(); 
      props.setProperty("mail.smtp.host", "smtp.gmail.com"); 
      props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY); 
      props.setProperty("mail.smtp.socketFactory.fallback", "false"); 
      props.setProperty("mail.smtp.port", "465"); 
      props.setProperty("mail.smtp.socketFactory.port", "465"); 
      props.put("mail.smtp.auth", "true"); 
      final String username = "xxx"; 
      final String password = "xxx"; 
      Session session = Session.getDefaultInstance(props, new Authenticator(){ 
          protected PasswordAuthentication getPasswordAuthentication() { 
              return new PasswordAuthentication(username, password); 
          }}); 


      Message msg = new MimeMessage(session); 


      msg.setFrom(new InternetAddress(username+"@gmail.com" )); 
      msg.setRecipients(Message.RecipientType.TO, 
        InternetAddress.parse("suken2817403@gmail.com",false)); 
      msg.setSubject("Hello"); 
      msg.setText("How are you"); 
      msg.setSentDate(new Date()); 
      Transport.send(msg); 

      System.out.println("Message sent."); 
    } 

}
异常如下:
Exception in thread "main" javax.mail.SendFailedException: Sending failed;
nested exception is:
javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465;
nested exception is:
java.io.IOException: Couldn't connect using "javax.net.ssl.SSLSocketFactory" socket factory to host, port: smtp.gmail.com, 465; Exception: java.lang.reflect.InvocationTargetException
at javax.mail.Transport.send0(Transport.java:219)
at javax.mail.Transport.send(Transport.java:81)
at smack.JavaMailTest.main(JavaMailTest.java:46)
一直是这个异常,用spring整合也是这个异常

4个回答

javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465;
nested exception is:
java.io.IOException: Couldn't connect using "javax.net.ssl.SSLSocketFactory" socket factory to host, port: smtp.gmail.com, 465; Exception: java.lang.reflect.InvocationTargetException

异常就已经说明了问题所在嘛

不能用"javax.net.ssl.SSLSocketFactory"连接smtp.gmail.com, 465

/**
* @function diagnosis
* @author 李傲
* @param stmpAddress:发送邮件的服务器地址
* @param portnum:发送邮件的服务器端口号
* @param fromUrl:发送方地址
* @param username:发送邮件的服务器的用户名
* @param password:发送邮件的服务器的密码
* @param toURL:接收方地址
* @param title:邮件标题
* @param contect:邮件正文
* @param dirs:附件所在目录
* @return 无
* @exception 无
*/
public String sendMail(String stmpAddress, int portnum, String fromUrl,
String username, String password, String toURL, String title,
String contect, String dirs) {
JavaMailSender mailSender = (JavaMailSender) getBean("mailSender");
((JavaMailSenderImpl) mailSender).setHost(stmpAddress);
((JavaMailSenderImpl) mailSender).setUsername(username);
((JavaMailSenderImpl) mailSender).setPassword(EncryptData.decrypt(password));
((JavaMailSenderImpl) mailSender).setPort(portnum);
if (stmpAddress.indexOf("gmail") > 0) {
Properties p = new Properties();
p.setProperty("mail.smtp.auth", "true");
p.setProperty("mail.smtp.timeout", "25000");
p.setProperty("mail.smtp.starttls.enable", "true");
p.setProperty("mail.smtp.socketFactory.class",
"javax.net.ssl.SSLSocketFactory");
p.setProperty("mail.smtp.socketFactory.fallback", "false");
((JavaMailSenderImpl) mailSender).setJavaMailProperties(p);
}
MimeMessage mime = mailSender.createMimeMessage();
MimeMessageHelper helper;
try {
helper = new MimeMessageHelper(mime, true, "utf-8");
helper.setFrom(fromUrl);// "xxx@xxx.xxx"
helper.setTo(toURL);// "xxx@xxx.xxx"
helper.setSubject(title);
helper.setText(contect, true);

        if (dirs != null) {
            File dirFile = new File(dirs);
            File files[] = dirFile.listFiles();

            if(files!=null){

            for (int i = 0; i < files.length; i++) {

                try {
                    helper.addAttachment(new String(files[i].getName()
                            .getBytes("GBK"), "iso-8859-1"), files[i]);
                } catch (UnsupportedEncodingException e) {
                    e.printStackTrace();
                    return CommonString.MAIL_SEND_FAILED;
                }
            }
            }
        }

    } catch (MessagingException e) {
        e.printStackTrace();
        return CommonString.MAIL_SEND_FAILED;
    }
    mailSender.send(mime);
    return null;
}

楼主。不是所有邮箱的smtp都可以连的,你在做这个整合前,先得测试一下这个smtp能不能用,有些事需要收费的,比如163的。

详细测试方法google之。

每次test程序前 先test下邮箱在OUTLOOK EXPRESS中能不能发邮件,不能的话程序就发不了邮件 貌似是这样的

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
JavaMail发送邮件问题
开发了一个网站,在用户注册功能上需要发送邮件给用户用来激活, 问题是:服务器自身不通外网,只是映射了一个外网地址供用户访问, 那么JavaMail能发送邮件出去吗?
javamail发送邮件,已发邮箱中没有
使用javamail发送邮件成功,但是foxmail发件箱中没有,用的是imap协议
javamail 发送邮件 connection timeOut
javamail 发送邮件 connection timeOut , 这个超时时间是如何设置的,在哪里设置的? 应用部署环境 linux ,是不是linux系统本身有 tcp socket 的超时时间设置;还是javamail哪里有这个设置? 求解答。
android调用javamail发送邮件以及android调用intent发送邮件机制?
android引用javamail包发送邮件时,javamail是调用android的intent进行通信吗?为什么android调用内部的intent发送邮件不需要登陆邮箱,而是可以直接指定目标邮箱直接发送数据。javamail在android发送邮件调用的什么机制呢?我被搞得好乱,求解
使用javamail发送邮件出现问题
下面是错误信息 DEBUG: JavaMail version 1.4ea DEBUG: java.io.FileNotFoundException: C:\Users\xiaoding\MyEclipse 2016 CI\binary\com.sun.java.jdk8.win32.x86_64_1.8.0.u66\jre\lib\javamail.providers (系统找不到指定的文件。) DEBUG: !anyLoaded DEBUG: not loading resource: /META-INF/javamail.providers DEBUG: successfully loaded resource: /META-INF/javamail.default.providers DEBUG: Tables of loaded providers DEBUG: Providers Listed By Class Name: {com.sun.mail.smtp.SMTPSSLTransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc], com.sun.mail.imap.IMAPSSLStore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc]} DEBUG: Providers Listed By Protocol: {imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], smtps=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]} DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map DEBUG: !anyLoaded DEBUG: not loading resource: /META-INF/javamail.address.map DEBUG: java.io.FileNotFoundException: C:\Users\xiaoding\MyEclipse 2016 CI\binary\com.sun.java.jdk8.win32.x86_64_1.8.0.u66\jre\lib\javamail.address.map (系统找不到指定的文件。) DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc] DEBUG SMTP: useEhlo true, useAuth true DEBUG SMTP: trying to connect to host "smtp.qq.com", port 25, isSSL false 220 smtp.qq.com Esmtp QQ Mail Server DEBUG SMTP: connected to host "smtp.qq.com", port: 25 EHLO DESKTOP-FVJB5A5 250-smtp.qq.com 250-PIPELINING 250-SIZE 73400320 250-STARTTLS 250-AUTH LOGIN PLAIN 250-AUTH=LOGIN 250-MAILCOMPRESS 250 8BITMIME DEBUG SMTP: Found extension "PIPELINING", arg "" DEBUG SMTP: Found extension "SIZE", arg "73400320" DEBUG SMTP: Found extension "STARTTLS", arg "" DEBUG SMTP: Found extension "AUTH", arg "LOGIN PLAIN" DEBUG SMTP: Found extension "AUTH=LOGIN", arg "" DEBUG SMTP: Found extension "MAILCOMPRESS", arg "" DEBUG SMTP: Found extension "8BITMIME", arg "" DEBUG SMTP: Attempt to authenticate AUTH LOGIN 334 VXNlcm5hbWU6 MTE5Mjg2MjUzMQ== 530 Error: A secure connection is requiered(such as ssl). More information at http://service.mail.qq.com/cgi-bin/help?id=28 javax.mail.AuthenticationFailedException 下面是代码 package until; import java.util.Properties; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMessage.RecipientType; public class sendMail { public static void main() throws AddressException,MessagingException { Properties properties = new Properties(); properties.put("mail.transport.protocol", "smtp");// 连接协议 properties.put("mail.smtp.host", "smtp.qq.com");// 主机名 properties.put("mail.smtp.port", 465);// 端口号 properties.put("mail.smtp.auth", "true"); properties.put("mail.smtp.ssl.enable", "true");//设置是否使用ssl安全连接 ---一般都使用 properties.put("mail.debug", "true");//设置是否显示debug信息 true 会在控制台显示相关信息 //得到回话对象 Session session = Session.getInstance(properties); // 获取邮件对象 Message message = new MimeMessage(session); //设置发件人邮箱地址 message.setFrom(new InternetAddress("2557276052@qq.com")); message.setRecipients(RecipientType.TO,new InternetAddress[] { new InternetAddress("987654321@qq.com") }); //设置邮件标题 message.setSubject("这是第一封Java邮件"); //设置邮件内容 message.setText("内容为: 这是第一封java发送来的邮件。"); //得到邮差对象 Transport transport = session.getTransport(); //连接自己的邮箱账户 transport.connect("xxxxxx", "cbeeweiryvvugchc");//用户名和密码 transport.sendMessage(message, message.getAllRecipients()); } }
javamail发送邮件问题
package org.easyshop.ext; import java.util.Date; import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.NoSuchProviderException; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class MailUtil { static int port=25; static String server="smtp.qq.com"; static String from="zxlcd520@qq.com"; static String user="zxlcd520"; static String password="*******"; public static void sendEmail(String email,String subject,String body){ try{ Properties props=new Properties(); props.setProperty("mail.transport.protocol","smtp"); props.put("mail.smtp.host",server); props.put("mail.smtp.port",String.valueOf(port)); props.put("mail.smtp.auth","true"); //Transport transport=null; MyAuthenticator myauth = new MyAuthenticator(user, password); Session session=Session.getDefaultInstance(props,myauth); session.setDebug(true); //transport=session.getTransport("smtp"); //transport.connect(server,user,password); MimeMessage msg=new MimeMessage(session); msg.setSentDate(new Date()); InternetAddress fromAddress=new InternetAddress(from); msg.setFrom(fromAddress); InternetAddress[] toAddress=new InternetAddress[1]; toAddress[0]=new InternetAddress(email); msg.setRecipients(Message.RecipientType.TO,toAddress); msg.setSubject(subject,"GBK"); msg.setText(body,"GBK"); msg.saveChanges(); //transport.sendMessage(msg,msg.getAllRecipients());System.out.print("ok"); Transport.send(msg); }catch(NoSuchProviderException e){ e.printStackTrace(); }catch(MessagingException e){ e.printStackTrace(); } } } class MyAuthenticator extends javax.mail.Authenticator { private String strUser; private String strPwd; public MyAuthenticator(String user, String password) { this.strUser = user; this.strPwd = password; } protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(strUser, strPwd); } } [color=blue]以上是我javamail完整的代码,但是我调试了很久都不能成功,以下是调试信息.smtp服务器地址换成126的也不行,难道是现在的邮件服务器不支持客户端了?我是第一次用javamail有很多东西不知道请各位指点~~[/color] [color=red]DEBUG: setDebug: JavaMail version 1.3.1 DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc] DEBUG SMTP: useEhlo true, useAuth true DEBUG SMTP: useEhlo true, useAuth true DEBUG SMTP: trying to connect to host "smtp.qq.com", port 25 220 esmtp6.qq.com Esmtp QQ Mail Server DEBUG SMTP: connected to host "smtp.qq.com", port: 25 EHLO PC-200201012241 250-esmtp6.qq.com 250-PIPELINING 250-SIZE 52428800 250-AUTH LOGIN 250-AUTH=LOGIN 250 8BITMIME DEBUG SMTP: Found extension "PIPELINING", arg "" DEBUG SMTP: Found extension "SIZE", arg "52428800" DEBUG SMTP: Found extension "AUTH", arg "LOGIN" DEBUG SMTP: Found extension "AUTH=LOGIN", arg "" DEBUG SMTP: Found extension "8BITMIME", arg "" DEBUG SMTP: Attempt to authenticate AUTH LOGIN 334 VXNlcm5hbWU6 NDU0NzczMDk1 334 UGFzc3dvcmQ6 MTk4ODAxMjAzMTQ0NTQ= 454 Authentication failed javax.mail.SendFailedException: Sending failed; nested exception is: class javax.mail.AuthenticationFailedException at javax.mail.Transport.send0(Transport.java:218) at javax.mail.Transport.send(Transport.java:80)[/color] [b]问题补充:[/b] TO:lewhwa 谢谢。我试了N次终于成功了,是的,程序完全没有问题。 原因是126邮箱已经不支持SMTP/POP3了。我用OUTLOOK连不上。后面用QQ试了半天终于在开启SMTP/POP3后成功了。但问题是这样的,我想实现一个网站注册时给新用户发激活邮件,这样如果像126这样或QQ邮箱(默认是不开启SMTP/POP3的)是收不到我用客户羰发的邮件!那该怎么办呢? [b]问题补充:[/b] TO:lewhwa 呵呵,我理解你的意思,但是如果接收方没有POP3会被退信的。我刚刚就试过向126邮箱发信但都被退回了,后面只好向另一个QQ邮箱发~
javamail发送邮件可能的异常种类
刚进公司的小白,要做一个邮件反馈的功能, 我用javamail写的,测试都能通过,就是想问下有没有办法能获取到反馈,比如说用户是成功接收邮件还是接收失败。 而且javamail 的包 好像与javaee5有冲突,要把环境换成ee_6,可是我本地换了之后项目发布测试的时候会不会有问题。 因为服务器的项目本身是5的环境
javamail发送邮件不报异常,也发送不出去,也收不到邮件是为什么
javamail发送邮件不报异常,也发送不出去,也收不到邮件是为什么,代码是catch异常的,求高人指导,感激不尽,如果smtp的服务器IP是错误的话,在没有别的错误的情况下,会不会报错?
JavaMail发邮件相关
最近利用JavaMail写了个发邮件的程序, 但是需求提出要求确人邮件是否成功发送到对方的邮箱, 对方是否点击过邮件。请问这个需要怎么实现呢???
javamail 发邮件的问题
老提示这样的错误: javax.mail.MessagingException: Could not connect to SMTP host: smtp.163.com, port: 25, response: -1 at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1270) at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:370) at javax.mail.Service.connect(Service.java:275) at javax.mail.Service.connect(Service.java:156) at SendMail.send(SendMail.java:60) at SendMail.main(SendMail.java:72)  我的smtp 是这样设置的: public static final String mailAddress = "xxx@163.com"; public static final String mailCount = "xxx"; public static final String mailPassword = "*******"; public static final String mailServer = "smtp.163.com"; 错误貌似是提示没有打开服务器,网上有些资料也说是,端口冲突,可我关闭所有的放火墙还是不行,急啊~~~~
javamail发送邮件失败问题?
这是报的异常:信息: Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, dataSourceName -> z8kflt9u1dxx2q1feu2jv|1127b52, debugUnreturnedConnectionStackTraces -> false, description -> null, driverClass -> com.mysql.jdbc.Driver, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> z8kflt9u1dxx2q1feu2jv|1127b52, idleConnectionTestPeriod -> 0, initialPoolSize -> 3, jdbcUrl -> jdbc:mysql:///estoresystem, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 0, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 15, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 3, numHelperThreads -> 3, numThreadsAwaitingCheckoutDefaultUser -> 0, preferredTestQuery -> null, properties -> {user=******, password=******}, propertyCycle -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false ] javax.mail.MessagingException: Unknown SMTP host: smtp.qq.com; nested exception is: java.net.UnknownHostException: smtp.qq.com at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1932) at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:638) at javax.mail.Service.connect(Service.java:317) at javax.mail.Service.connect(Service.java:176) at javax.mail.Service.connect(Service.java:125) at javax.mail.Transport.send0(Transport.java:194) at javax.mail.Transport.send(Transport.java:124) at cn.itcast.estore.utils.MailUtils.sendMail(MailUtils.java:50) at cn.itcast.estore.service.UserServiceImpl.regist(UserServiceImpl.java:33) at cn.itcast.estore.web.servlet.UsersServlet.regist(UsersServlet.java:78) at cn.itcast.estore.web.servlet.UsersServlet.doGet(UsersServlet.java:32) at cn.itcast.estore.web.servlet.UsersServlet.doPost(UsersServlet.java:98) at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619) Caused by: java.net.UnknownHostException: smtp.qq.com at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at java.net.Socket.connect(Socket.java:519) at java.net.Socket.connect(Socket.java:469) at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:288) at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:231) at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1900) ... 25 more 这是我写的一个工具类代码: public class MailUtils { public static void sendMail(String email, String emailMsg) throws AddressException, MessagingException { // 1.创建一个程序与邮件服务器会话对象 Session Properties props = new Properties(); props.setProperty("mail.transport.protocol", "SMTP"); props.setProperty("mail.host", "smtp.qq.com"); props.setProperty("mail.smtp.auth", "true");// 指定验证为true // 创建验证器 Authenticator auth = new Authenticator() { public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("312476956@qq.com", "SN19900103"); } }; Session session = Session.getInstance(props, auth); // 2.创建一个Message,它相当于是邮件内容 Message message = new MimeMessage(session); message.setFrom(new InternetAddress("312476956@qq.com")); // 设置发送者 message.setRecipient(RecipientType.TO, new InternetAddress(email)); // 设置发送方式与接收者 message.setSubject("用户激活"); // message.setText("这是一封激活邮件,请<a href='#'>点击</a>"); message.setContent(emailMsg, "text/html;charset=utf-8"); // 3.创建 Transport用于将邮件发送 Transport.send(message); } } 求大神们帮忙看一下?我感觉代码应该是没问题,是不是我哪里没开启什么服务还是什么其他的问题?
javamail发送邮件,超链接无法访问
我用javamail发送html邮件给QQ邮箱,在html中我加入了<a>标签和连接。但是每次发送到那边,链接都无法点击是怎么回事?
javamail 发送邮件报错Not connected
javamail 发送邮件报错Not connected at com.sun.mail.smtp.Smtp.checkConnected... 以下是报错信息: ![图片说明](https://img-ask.csdn.net/upload/201510/19/1445242671_531700.jpg) ![图片说明](https://img-ask.csdn.net/upload/201510/19/1445242712_961188.jpg)
javamail发送邮件问题!!!
部署到服务器上发送邮件,循环数据库列表中的收件人一直发送。最后报错javax.mail.AuthenticationFailedException: 535 5.7.0 (#AUTH002) Incorrect username or password .账号密码是测试过的没有错误,是不是发送邮件的频率太高了,邮件平台把我的账号密码给封了?这怎么解决?
javamail 发邮件个别字中文乱码
最近遇到一个很奇怪的问题,折腾我好久了 公司有自己的开发平台 发邮件是用Javamail写的 我在用公司封装的发邮件的方法 发送邮件过程中 陈玘的“玘”字不能正常显示,一直显示的是"陈?" 在正文和标题中都不能正常显示 所以想问问大家 这是什么原因,如果说公司封装的代码有问题 为什么其他的字都能正常就这一个字不正常, 数据库的字符集也没问题 是oracle ZHS16GBK
关于javamail的问题
目前我们要将邮件系统嵌入到OA系统中,OA系统中实现邮件的接收发送功能。其中遇到以下几个问题。 <br />1.关于javamail接收邮件是如何做分页的?(思路) <br />2.在读取邮件的时候,有时候会抛出javax.mail.MessageRemovedException异常 <br />3.读取邮件标题时,用了new String( subject.getBytes("iso-8859-1"),"gb2312")进行编码转换,有的标题会显示乱码。 <br /> <br /><br/><strong>问题补充</strong><br/>自己回答一下:<br />1.分页的问题,可以通过Folder类获取邮件总记录数getMessageCount(),然后再调用getMessages(int start, int end), start从1开始,如果start从0开始会报错,具体看API。<br />2.MessageRemovedException异常,是由于邮件已被删除。只要把邮件删除就不会报这个异常了。<br />3.试了一下不转码,直接message.getSubject()这样就不会有乱码。<br />---------------------------------------------<br />以上的问题差不多解决了,但还有一个分页的问题,就是排序问题,如何从时间倒序进行排序。<br />
javamail发送邮件出错
Spring中配置的javamail ``` <bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl" p:defaultEncoding="utf-8" p:host="smtp.163.com" p:username="18718301376" p:password="*********"> <property name="javaMailProperties"> <props> <prop key="mail.smtp.auth">true</prop> </props> </property> </bean> <bean id="emailSender" class="cn.myproject.oa.core.util.email.impl.EmailSenderImpl" p:javaMailSender="#{javaMailSender}" p:from="18718301376@163.com"/> ``` java代码 ``` @Override public boolean sender(String to, String subject, String message, boolean isHtml) { try { /** 创建邮件 */ MimeMessage mimeMessage = javaMailSender.createMimeMessage(); /** 创建邮件帮助类 */ MimeMessageHelper helper = new MimeMessageHelper(mimeMessage); /** 设置收件人 */ helper.setTo(to); /** 设置发送人 */ helper.setFrom(from); /** 设置主题 */ helper.setSubject(subject); /** 设置邮件内容 true为html false为text */ helper.setText(message, isHtml); /** 发送邮件 */ javaMailSender.send(mimeMessage); return true; } catch (Exception e) { e.printStackTrace(); } return false; } ``` 账号密码没错,smtp也开启了,防火墙杀毒也关了~ 还是不行 到底哪里错了 吐血了!!!!!!!!!!!!!求大神帮忙看看!!!!!!!
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
使用 Docker 部署 Spring Boot 项目
Docker 技术发展为微服务落地提供了更加便利的环境,使用 Docker 部署 Spring Boot 其实非常简单,这篇文章我们就来简单学习下。首先构建一个简单的 S...
英特尔不为人知的 B 面
从 PC 时代至今,众人只知在 CPU、GPU、XPU、制程、工艺等战场中,英特尔在与同行硬件芯片制造商们的竞争中杀出重围,且在不断的成长进化中,成为全球知名的半导体公司。殊不知,在「刚硬」的背后,英特尔「柔性」的软件早已经做到了全方位的支持与支撑,并持续发挥独特的生态价值,推动产业合作共赢。 而对于这一不知人知的 B 面,很多人将其称之为英特尔隐形的翅膀,虽低调,但是影响力却不容小觑。 那么,在...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
刷了几千道算法题,这些我私藏的刷题网站都在这里了!
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...
白话阿里巴巴Java开发手册高级篇
不久前,阿里巴巴发布了《阿里巴巴Java开发手册》,总结了阿里巴巴内部实际项目开发过程中开发人员应该遵守的研发流程规范,这些流程规范在一定程度上能够保证最终的项目交付质量,通过在时间中总结模式,并推广给广大开发人员,来避免研发人员在实践中容易犯的错误,确保最终在大规模协作的项目中达成既定目标。 无独有偶,笔者去年在公司里负责升级和制定研发流程、设计模板、设计标准、代码标准等规范,并在实际工作中进行...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
redis分布式锁,面试官请随便问,我都会
文章有点长并且绕,先来个图片缓冲下! 前言 现在的业务场景越来越复杂,使用的架构也就越来越复杂,分布式、高并发已经是业务要求的常态。像腾讯系的不少服务,还有CDN优化、异地多备份等处理。 说到分布式,就必然涉及到分布式锁的概念,如何保证不同机器不同线程的分布式锁同步呢? 实现要点 互斥性,同一时刻,智能有一个客户端持有锁。 防止死锁发生,如果持有锁的客户端崩溃没有主动释放锁,也要保证锁可以正常释...
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
Nginx 原理和架构
Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
Java世界最常用的工具类库
Apache Commons Apache Commons有很多子项目 Google Guava 参考博客
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员...
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC...
【技巧总结】位运算装逼指南
位算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也是可以装逼的,不信,你往下看。我会从最简单的讲起,一道比一道难度递增,不过居然是讲技巧,那么也不会太难,相信你分分钟看懂。 判断奇偶数 判断一个数是基于还是偶数,相信很多人都做过,一般的做法的代码如下...
为什么要学数据结构?
一、前言 在可视化化程序设计的今天,借助于集成开发环境可以很快地生成程序,程序设计不再是计算机专业人员的专利。很多人认为,只要掌握几种开发工具就可以成为编程高手,其实,这是一种误解。要想成为一个专业的开发人员,至少需要以下三个条件: 1) 能够熟练地选择和设计各种数据结构和算法 2) 至少要能够熟练地掌握一门程序设计语言 3) 熟知所涉及的相关应用领域的知识 其中,后两个条件比较容易实现,而第一个...
Android 9.0 init 启动流程
阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android本篇文章主要介绍Android开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:一、启动流程概述一、 启动流程概述Android启动流程跟Linux启动类似,大致分为如下五个阶段。1.开机上电,加载固化的ROM。2.加载BootLoader,拉起Android OS。3.加载Uboot,初始外设,引导Kernel启动等。...
8年经验面试官详解 Java 面试秘诀
作者 |胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。 Java程序员准备和投递简历的实...
面试官如何考察你的思维方式?
1.两种思维方式在求职面试中,经常会考察这种问题:北京有多少量特斯拉汽车?某胡同口的煎饼摊一年能卖出多少个煎饼?深圳有多少个产品经理?一辆公交车里能装下多少个乒乓球?一个正常成年人有多少根头发?这类估算问题,被称为费米问题,是以科学家费米命名的。为什么面试会问这种问题呢?这类问题能把两类人清楚地区分出来。一类是具有文科思维的人,擅长赞叹和模糊想象,它主要依靠的是人的第一反应和直觉,比如小孩...
相关热词 c#选择结构应用基本算法 c# 收到udp包后回包 c#oracle 头文件 c# 序列化对象 自定义 c# tcp 心跳 c# ice连接服务端 c# md5 解密 c# 文字导航控件 c#注册dll文件 c#安装.net
立即提问