「java发送邮件ssl」java发送邮件正文带表格

博主:adminadmin 2022-11-24 22:11:09 68

今天给各位分享java发送邮件ssl的知识,其中也会对java发送邮件正文带表格进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

JAVA发送邮件提示530怎么办

530是安全验证没通过

俩可能

1、你邮箱是开了ssl的,你javamail代码里没写这段

MailSSLSocketFactory sf = new MailSSLSocketFactory();

sf.setTrustAllHosts(true);

props.put("mail.smtp.ssl.enable", "true");

props.put("mail.smtp.ssl.socketFactory", sf);

2、你的邮箱限制了pop和smtp,这就没辙了。不过一般邮箱里会提供开启pop的选项

java如何使用ssl连接qq邮箱

Gmail目前已经启用了POP3和SMTP服务,与其他邮箱不同的是Gmail提供的POP3和SMTP是使用安全套接字层SSL的,因此常规的JavaMail程序是无法收发邮件的,下面是使用JavaMail如何收取Gmail邮件以及发送邮件的代码:

1. [代码]GmailFetch.java     跳至 [1] [2] [全屏预览]

01    package lius.javamail.ssl;    

02         

03    import java.io.UnsupportedEncodingException;    

04    import java.security.*;    

05    import java.util.Properties;    

06    import javax.mail.*;    

07    import javax.mail.internet.InternetAddress;    

08    import javax.mail.internet.MimeUtility;    

09         

10    /**    

11     * 用于收取Gmail邮件    

12     * @author Winter Lau    

13     */    

14    public class GmailFetch {    

15          

16     public static void main(String argv[]) throws Exception {    

17         

18      Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());    

19      final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";    

20         

21      // Get a Properties object    

22      Properties props = System.getProperties();    

23      props.setProperty("mail.pop3.socketFactory.class", SSL_FACTORY);    

24      props.setProperty("mail.pop3.socketFactory.fallback", "false");    

25      props.setProperty("mail.pop3.port", "995");    

26      props.setProperty("mail.pop3.socketFactory.port", "995");    

27         

28      //以下步骤跟一般的JavaMail操作相同    

29      Session session = Session.getDefaultInstance(props,null);    

30         

31      //请将红色部分对应替换成你的邮箱帐号和密码    

32      URLName urln = new URLName("pop3","pop.gmail.com",995,null,    

33        "[邮箱帐号]", "[邮箱密码]");    

34      Store store = session.getStore(urln);    

35      Folder inbox = null;    

36      try {    

37       store.connect();    

38       inbox = store.getFolder("INBOX");    

39       inbox.open(Folder.READ_ONLY);    

40       FetchProfile profile = new FetchProfile();    

41       profile.add(FetchProfile.Item.ENVELOPE);    

42       Message[] messages = inbox.getMessages();    

43       inbox.fetch(messages, profile);    

44       System.out.println("收件箱的邮件数:" + messages.length);    

45       for (int i = 0; i  messages.length; i++) {    

46        //邮件发送者    

47        String from = decodeText(messages[i].getFrom()[0].toString());    

48        InternetAddress ia = new InternetAddress(from);    

49        System.out.println("FROM:" + ia.getPersonal()+'('+ia.getAddress()+')');    

50        //邮件标题    

51        System.out.println("TITLE:" + messages[i].getSubject());    

52        //邮件大小    

53        System.out.println("SIZE:" + messages[i].getSize());    

54        //邮件发送时间    

55        System.out.println("DATE:" + messages[i].getSentDate());    

56       }    

57      } finally {    

58       try {    

59        inbox.close(false);    

60       } catch (Exception e) {}    

61       try {    

62        store.close();    

63       } catch (Exception e) {}    

64      }    

65     }    

66          

67     protected static String decodeText(String text)    

68       throws UnsupportedEncodingException {    

69      if (text == null)    

70       return null;    

71      if (text.startsWith("=?GB") || text.startsWith("=?gb"))    

72       text = MimeUtility.decodeText(text);    

73      else    

74       text = new String(text.getBytes("ISO8859_1"));    

75      return text;    

76     }    

77         

78    }    

2. [代码]GmailSender.java     

01    package lius.javamail.ssl;    

02         

03    import java.security.Security;    

04    import java.util.Date;    

05    import java.util.Properties;    

06         

07    import javax.mail.Authenticator;    

08    import javax.mail.Message;    

09    import javax.mail.MessagingException;    

10    import javax.mail.PasswordAuthentication;    

11    import javax.mail.Session;    

12    import javax.mail.Transport;    

13    import javax.mail.internet.AddressException;    

14    import javax.mail.internet.InternetAddress;    

15    import javax.mail.internet.MimeMessage;    

16         

17    /**    

18     * 使用Gmail发送邮件    

19     * @author Winter Lau    

20     */    

21    public class GmailSender {    

22         

23     public static void main(String[] args) throws AddressException, MessagingException {    

24      Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());    

25      final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";    

26      // Get a Properties object    

27      Properties props = System.getProperties();    

28      props.setProperty("mail.smtp.host", "smtp.gmail.com");    

29      props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);    

30      props.setProperty("mail.smtp.socketFactory.fallback", "false");    

31      props.setProperty("mail.smtp.port", "465");    

32      props.setProperty("mail.smtp.socketFactory.port", "465");    

33      props.put("mail.smtp.auth", "true");    

34      final String username = "[邮箱帐号]";    

35      final String password = "[邮箱密码]";    

36      Session session = Session.getDefaultInstance(props, new Authenticator(){    

37          protected PasswordAuthentication getPasswordAuthentication() {    

38              return new PasswordAuthentication(username, password);    

39          }});    

40         

41           // -- Create a new message --    

42      Message msg = new MimeMessage(session);    

43         

44      // -- Set the FROM and TO fields --    

45      msg.setFrom(new InternetAddress(username + "@mo168.com"));    

46      msg.setRecipients(Message.RecipientType.TO,    

47        InternetAddress.parse("[收件人地址]",false));    

48      msg.setSubject("Hello");    

49      msg.setText("How are you");    

50      msg.setSentDate(new Date());    

51      Transport.send(msg);    

52           

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

54     }    

55    }

java通过https发送邮件。本地发送邮件没有问题,但是上传到服务器上就不能发送了

你好:服务器的话,一个可能原因就是对配置文件的路径读取有问题,你可以可打印下路径,看看配置文件是否可以找到;再就是服务器的话,可以看下发送邮件的端口是否可用。

java程序发送邮件报错

public boolean sendout()

{

try

{

mimeMessage.setContent(mp);

mimeMessage.saveChanges();

Session mailSession = Session.getInstance(props, null);

Transport transport = mailSession.getTransport("smtp");

transport.connect(hostname, username, password);

transport.sendMessage(mimeMessage, mimeMessage.getRecipients(javax.mail.Message.RecipientType.TO));

transport.close();

}

catch(Exception e)

{

e.printStackTrace();

return false;

}

return true;

}

tomcat没有开启ssl支持,java项目可以发送ssl邮

tomcat没有开启ssl支持,java项目可以发送ssl邮件非SSL发送邮箱使用的25端口,但是这个端口开放是非常危险的,阿里云和腾讯云默认是关闭的。

javamail的tls和ssl方式是什么意思

tls/ssl协议是安全通讯协议。这种协议目前各种大型邮件传输服务商都支持,有的邮箱可以设置没有这个协议不能发送邮件。其实不用太关注这个通讯协议,在使用javamail中使用tls/ssl也很简单:就是加一个配置而已,其他内容已经封装好了。

附:SSL/TLS 单向认证

用户到服务器之间存在单方面的认证,即客户端会认证服务器端身份,而服务器端不会去对客户端身份进行验证。首先,客户端发起握手请求,服务器收到握手请求后,会选择适合双方的协议版本和加密方式。然后,再将协商的结果和服务器端的公钥一起发送给客户端。客户端利用服务器端的公钥,对要发送的数据进行加密,并发送给服务器端。服务器端收到后,会用本地私钥对收到的客户端加密数据进行解密。然后,通讯双方都会使用这些数据来产生双方之间通讯的加密密钥。接下来,双方就可以开始安全通讯过程了。

java发送邮件ssl的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java发送邮件正文带表格、java发送邮件ssl的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-24,除非注明,否则均为首码项目网原创文章,转载请注明出处。