Spring boot SubethaSmtp示例

Spring boot SubethaSmtp示例,spring-boot,incoming-mail,Spring Boot,Incoming Mail,你能告诉我如何使用Subethastp图书馆吗 <dependency> <groupId>org.subethamail</groupId> <artifactId>subethasmtp</artifactId> <version>3.1.7</version> <scope>test</scope> </dependency> Subetha SMTP用于构建SMTP

你能告诉我如何使用Subethastp图书馆吗

<dependency>
<groupId>org.subethamail</groupId>
<artifactId>subethasmtp</artifactId>
<version>3.1.7</version>
<scope>test</scope>
</dependency>


Subetha SMTP用于构建SMTP服务器。 为此,您应该使用POP或IMAP来阅读收件箱中的电子邮件。 请参见下面的示例:您只需要java邮件api

public void receiveMail(){
            Properties props = System.getProperties();
            props.setProperty("mail.store.protocol", "imap");
            props.put("mail.imap.host", host);
            props.put("mail.imap.port", port);
            props.put("mail.imap.auth.login.disable", "true");
            props.put("mail.imap.auth.plain.disable", "false");
            //props.put("mail.imap.ssl.enable", "true");
            props.put("mail.debug", "true");
            props.put("mail.debug.auth", "true");


            Session session = Session.getInstance(props, new javax.mail.Authenticator() {
                protected PasswordAuthentication getPasswordAuthentication() {
                    return new PasswordAuthentication(user, pwd);
                }
            });

            store = (IMAPStore) session.getStore("imap");



            store.connect(host, user, pwd);
            folder = (IMAPFolder) store.getFolder("INBOX"); 

           openFolder(folder);
  }
   public static void openFolder(IMAPFolder folder) throws MessagingException, IOException{
          String subject = null;
          if (!folder.isOpen())
              folder.open(Folder.READ_WRITE);
          Message[] messages = folder.getMessages();
          System.out.println("No of Messages : " + folder.getMessageCount());
          System.out.println("No of Unread Messages : " + folder.getUnreadMessageCount());
          System.out.println(messages.length);
          if (messages.length > 0) {
              for (int i = 0; i < 1; i++) {

                  System.out.println("*****************************************************************************");
                  System.out.println("MESSAGE " + (i + 1) + ":");
                  Message msg = messages[i];
                  System.out.println("Message Number: " + msg.getMessageNumber());
                  // Object String;
                  System.out.println("UID: " + folder.getUID(msg));

                  subject = msg.getSubject();

                  System.out.println("Subject: " + subject);
                  System.out.println("From: " + msg.getFrom()[0]);
                  System.out.println("To: " + msg.getAllRecipients()[0]);
                  System.out.println("Date: " + msg.getReceivedDate());
                  System.out.println("Size: " + msg.getSize());
                  System.out.println(msg.getFlags());
                  System.out.println("Body: \n" + msg.getContent());
                  System.out.println(msg.getContentType());

              }
          }
    }
public void receiveMail(){
Properties props=System.getProperties();
props.setProperty(“mail.store.protocol”、“imap”);
props.put(“mail.imap.host”,host);
props.put(“mail.imap.port”,port);
put(“mail.imap.auth.login.disable”、“true”);
props.put(“mail.imap.auth.plain.disable”、“false”);
//put(“mail.imap.ssl.enable”、“true”);
props.put(“mail.debug”,“true”);
props.put(“mail.debug.auth”、“true”);
Session Session=Session.getInstance(props,newjavax.mail.Authenticator(){
受保护的密码身份验证getPasswordAuthentication(){
返回新密码验证(用户,pwd);
}
});
store=(IMAPStore)session.getStore(“imap”);
存储连接(主机、用户、pwd);
folder=(IMAPFolder)store.getFolder(“收件箱”);
openFolder(文件夹);
}
公共静态void openFolder(IMAPFolder文件夹)引发MessaginException、IOException{
字符串subject=null;
如果(!folder.isOpen())
文件夹。打开(文件夹。读写);
Message[]messages=folder.getMessages();
System.out.println(“邮件数:+folder.getMessageCount());
System.out.println(“未读邮件数:+folder.getUnderMessageCount());
System.out.println(messages.length);
如果(messages.length>0){
对于(int i=0;i<1;i++){
System.out.println(“*************************************************************************************************************************************”);
System.out.println(“消息”+(i+1)+“:”;
Message msg=消息[i];
System.out.println(“消息编号:+msg.getMessageNumber());
//对象字符串;
System.out.println(“UID:+folder.getUID(msg));
subject=msg.getSubject();
System.out.println(“主题:+主题”);
System.out.println(“From:+msg.getFrom()[0]);
System.out.println(“To:”+msg.getAllRecipients()[0]);
System.out.println(“日期:+msg.getReceivedDate());
System.out.println(“大小:+msg.getSize());
System.out.println(msg.getFlags());
System.out.println(“正文:\n”+msg.getContent());
System.out.println(msg.getContentType());
}
}
}

Subetha SMTP用于构建SMTP服务器。 为此,您应该使用POP或IMAP来阅读收件箱中的电子邮件。 请参见下面的示例:您只需要java邮件api

public void receiveMail(){
            Properties props = System.getProperties();
            props.setProperty("mail.store.protocol", "imap");
            props.put("mail.imap.host", host);
            props.put("mail.imap.port", port);
            props.put("mail.imap.auth.login.disable", "true");
            props.put("mail.imap.auth.plain.disable", "false");
            //props.put("mail.imap.ssl.enable", "true");
            props.put("mail.debug", "true");
            props.put("mail.debug.auth", "true");


            Session session = Session.getInstance(props, new javax.mail.Authenticator() {
                protected PasswordAuthentication getPasswordAuthentication() {
                    return new PasswordAuthentication(user, pwd);
                }
            });

            store = (IMAPStore) session.getStore("imap");



            store.connect(host, user, pwd);
            folder = (IMAPFolder) store.getFolder("INBOX"); 

           openFolder(folder);
  }
   public static void openFolder(IMAPFolder folder) throws MessagingException, IOException{
          String subject = null;
          if (!folder.isOpen())
              folder.open(Folder.READ_WRITE);
          Message[] messages = folder.getMessages();
          System.out.println("No of Messages : " + folder.getMessageCount());
          System.out.println("No of Unread Messages : " + folder.getUnreadMessageCount());
          System.out.println(messages.length);
          if (messages.length > 0) {
              for (int i = 0; i < 1; i++) {

                  System.out.println("*****************************************************************************");
                  System.out.println("MESSAGE " + (i + 1) + ":");
                  Message msg = messages[i];
                  System.out.println("Message Number: " + msg.getMessageNumber());
                  // Object String;
                  System.out.println("UID: " + folder.getUID(msg));

                  subject = msg.getSubject();

                  System.out.println("Subject: " + subject);
                  System.out.println("From: " + msg.getFrom()[0]);
                  System.out.println("To: " + msg.getAllRecipients()[0]);
                  System.out.println("Date: " + msg.getReceivedDate());
                  System.out.println("Size: " + msg.getSize());
                  System.out.println(msg.getFlags());
                  System.out.println("Body: \n" + msg.getContent());
                  System.out.println(msg.getContentType());

              }
          }
    }
public void receiveMail(){
Properties props=System.getProperties();
props.setProperty(“mail.store.protocol”、“imap”);
props.put(“mail.imap.host”,host);
props.put(“mail.imap.port”,port);
put(“mail.imap.auth.login.disable”、“true”);
props.put(“mail.imap.auth.plain.disable”、“false”);
//put(“mail.imap.ssl.enable”、“true”);
props.put(“mail.debug”,“true”);
props.put(“mail.debug.auth”、“true”);
Session Session=Session.getInstance(props,newjavax.mail.Authenticator(){
受保护的密码身份验证getPasswordAuthentication(){
返回新密码验证(用户,pwd);
}
});
store=(IMAPStore)session.getStore(“imap”);
存储连接(主机、用户、pwd);
folder=(IMAPFolder)store.getFolder(“收件箱”);
openFolder(文件夹);
}
公共静态void openFolder(IMAPFolder文件夹)引发MessaginException、IOException{
字符串subject=null;
如果(!folder.isOpen())
文件夹。打开(文件夹。读写);
Message[]messages=folder.getMessages();
System.out.println(“邮件数:+folder.getMessageCount());
System.out.println(“未读邮件数:+folder.getUnderMessageCount());
System.out.println(messages.length);
如果(messages.length>0){
对于(int i=0;i<1;i++){
System.out.println(“*************************************************************************************************************************************”);
System.out.println(“消息”+(i+1)+“:”;
Message msg=消息[i];
System.out.println(“消息编号:+msg.getMessageNumber());
//对象字符串;
System.out.println(“UID:+folder.getUID(msg));
subject=msg.getSubject();
System.out.println(“主题:+主题”);
System.out.println(“From:+msg.getFrom()[0]);
System.out.println(“To:”+msg.getAllRecipients()[0]);
System.out.println(“日期:+msg.getReceivedDate());
System.out.println(“大小:+msg.getSize());
System.out.println(msg.getFlags());
System.out.println(“正文:\n”+msg.getContent());
System.out.println(msg.getContentType());
}
}
}

有一个使用SubEtha SMTP接收电子邮件的完整示例(如果您也使用Spring Boot),也可以使用

有一个使用SubEtha SMTP接收电子邮件的完整示例(如果您也使用Spring Boot),乍一看就可以了。有错误吗?它只是没有收到邮件吗?你的防火墙端口打开了吗?FWIW:这个例子是co
public void receiveMail(){
            Properties props = System.getProperties();
            props.setProperty("mail.store.protocol", "imap");
            props.put("mail.imap.host", host);
            props.put("mail.imap.port", port);
            props.put("mail.imap.auth.login.disable", "true");
            props.put("mail.imap.auth.plain.disable", "false");
            //props.put("mail.imap.ssl.enable", "true");
            props.put("mail.debug", "true");
            props.put("mail.debug.auth", "true");


            Session session = Session.getInstance(props, new javax.mail.Authenticator() {
                protected PasswordAuthentication getPasswordAuthentication() {
                    return new PasswordAuthentication(user, pwd);
                }
            });

            store = (IMAPStore) session.getStore("imap");



            store.connect(host, user, pwd);
            folder = (IMAPFolder) store.getFolder("INBOX"); 

           openFolder(folder);
  }
   public static void openFolder(IMAPFolder folder) throws MessagingException, IOException{
          String subject = null;
          if (!folder.isOpen())
              folder.open(Folder.READ_WRITE);
          Message[] messages = folder.getMessages();
          System.out.println("No of Messages : " + folder.getMessageCount());
          System.out.println("No of Unread Messages : " + folder.getUnreadMessageCount());
          System.out.println(messages.length);
          if (messages.length > 0) {
              for (int i = 0; i < 1; i++) {

                  System.out.println("*****************************************************************************");
                  System.out.println("MESSAGE " + (i + 1) + ":");
                  Message msg = messages[i];
                  System.out.println("Message Number: " + msg.getMessageNumber());
                  // Object String;
                  System.out.println("UID: " + folder.getUID(msg));

                  subject = msg.getSubject();

                  System.out.println("Subject: " + subject);
                  System.out.println("From: " + msg.getFrom()[0]);
                  System.out.println("To: " + msg.getAllRecipients()[0]);
                  System.out.println("Date: " + msg.getReceivedDate());
                  System.out.println("Size: " + msg.getSize());
                  System.out.println(msg.getFlags());
                  System.out.println("Body: \n" + msg.getContent());
                  System.out.println(msg.getContentType());

              }
          }
    }