【iMessage苹果家庭推源码】软件安装使用IMAP协议接收邮件

推荐内容IMESSGAE相关

作者推荐内容 iMessage苹果推软件 *** 点击即可查看作者要求内容信息
作者推荐内容 1.家庭推内容 *** 点击即可查看作者要求内容信息
作者推荐内容 2.相册推 *** 点击即可查看作者要求内容信息
作者推荐内容 3.日历推 *** 点击即可查看作者要求内容信息
作者推荐内容 4.虚拟机安装简单 *** 点击即可查看作者要求内容信息
作者推荐内容 5.iMessage *** 点击即可查看作者要求内容信息

我正在开辟一个自力的iMessage苹果推应用步伐,该应用程序具备一些咱们很少变动的用户首选项。 我想将它们放在配置包中,以便在必要时可以大概经由过程settings.app拜候它们,可是增加包后,iMessage应用程序将不会在设置应用程序中表现为选项。 苹果指南指出: 启动“设置”应用程序时,它将为每一个自定义应用程序查抄是不是存在“设置”绑缚包。

【对付找到的每个自定义软件包,它将加载该软件包并在“设置”主页上显示响应应用程序的称号和图标。 当用户单击属于您的应用程序的行时,“设置”将加载“设置”捆绑包的Root.plist设置页面文件,并利用该文件来构建应用程序的首选项主页。 我测验考试将Settings.bundle添加到两个名目方针,并尝试设置一个应用程序组(如斯地方述),但没有乐成。 从iOS8起头,若是设置应用程序哀求了权限(位置,关照,摄像头等),则设置应用程序将显示您的应用程序列表,是以我什至试图让iMessage应用程序使用以后位置只是为了检察 如果它会触发settings.app中的项目,但这也不起作用。 我可以尝试其余法子,仍是可以确认独立的iMessage应用程序没有程序包集?

#使用telnet登录邮件办事器,这里使用的imap协定,不是pop3协议 telnet http://mail.xxx.com 143 Trying 100.200.90.104… Connected to mail.xxx.com. /** * 重要用于邮件发送 * 1.需要在邮箱设置中开启pop3/smtp服务 和 imap/smtp服务 * 2.如果使用的是qq邮箱需要使用受权码登岸,而不是暗码 * */ public class MailUtils { public static void sendMail(String email, String emailMsg) throws AddressException, MessagingException, Exception { // 1.创建一个程序与邮件服务器会话工具 Session Properties props = new Properties(); //设置发送的协议 props.setProperty(“mail.transport.protocol”, “SMTP”); //设置发送邮件的服务器 props.setProperty(“mail.host”, “http://smtp.qq.com”); props.setProperty(“mail.smtp.auth”, “true”);// 指定考证为true //开启加密,不然会报ssl毛病 MailSSLSocketFactory msf = new MailSSLSocketFactory(); msf.setTrustAllHosts(true); props.put(“mail.smtp.ssl.enable”, “true”); props.put(“mail.smtp.ssl.socketFactory”, msf); // 创建验证器 Authenticator auth = new Authenticator() { public PasswordAuthentication getPasswordAuthentication() { //设置发送人的帐号和密码 return new PasswordAuthentication(“[email protected]”, “rmtwmvvbvqyzffb123”); } }; Session session = Session.getInstance(props, auth); // 2.创建一个Message,它相当于是邮件内容 Message message = new MimeMessage(session); //设置发送者 message.setFrom(new InternetAddress(“[email protected]”));
【iMessage苹果家庭推源码】软件安装使用IMAP协议接收邮件_第1张图片

//设置发送方法与接管者 message.setRecipient(RecipientType.TO, new InternetAddress(email)); //设置邮件主题 message.setSubject(“用户激活”); //message.setText(“这是一封激活邮件,请点击”); //设置邮件内容 message.setContent(emailMsg, “text/html;charset=utf-8”); // 3.创建 Transport用于将邮件发送 Transport.send(message); } } Escape character is ‘^]’. * OK xxx IMAP4 Server (STD xxx v0.0 IMAP4) ready # 这里需要使用LOGIN号令,输入邮件的用户名和密码 1 LOGIN “myname” “mypassword*” 1 OK LOGIN completed. # 使用LIST命令查看用户的全部文件夹,即收件箱,发件箱等等 1 LIST “” “*” * LIST () “/” “INBOX” * LIST () “/” “&V4NXPpCuTvY-” * LIST () “/” “&XfJjpWU2kK5O9g-” * LIST () “/” “&g0l6Pw-” * LIST () “/” “&XfJT0ZABkK5O9g-” * LIST () “/” “&V4NXPnux-” 1 OK LIST completed.

#使用SELECT命令挑选收件箱INBOX 1 SELECT INBOX # 用户收件箱内里存在769份接收邮件 * 769 EXISTS * 0 RECENT * OK [UIDVALIDITY 1575613667076] UIDs valid * OK [UNSEEN 19] Message 19 is the first unseen * FLAGS (\Answered \Deleted \Draft \Flagged \Seen) * OK [PERMANENTFLAGS (\Answered \Deleted \Draft \Flagged \Seen)] 1 OK [READ-WRITE] SELECT completed. # 盘问最新的接收邮件第769封邮件的时候 1 FETCH 769 INTERNALDATE * 769 FETCH (INTERNALDATE “06-Dec-2019 09:51:59 +0800”) 1 OK FETCH completed. # 查看邮件 # 1 FETCH 769 RFC822 1 LOGOUT * BYE xxx Server logging out 1 OK LOGOUT completed. Connection closed by foreign host. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Properties; import javax.mail.Flags.Flag; import javax.mail.Folder; import javax.mail.Message; import javax.mail.Session; import javax.mail.Store; import javax.mail.internet.MimeUtility; import com.sun.mail.imap.IMAPMessage;

使用IMAP

协议接收邮件

POP3和IMAP协议的区分:

POP3协议容许电子邮件客户端下载服务器上的邮件,但是在客户端的操纵(如挪动邮件、标识表记标帜已读等),不会反响到服务器上,

好比通过客户端收取了邮箱中的3封邮件并移动到别的文件夹,邮箱服务器上的这些邮件是没有同时被移动的。

IMAP协议供给webmail与电子邮件客户端之间的双向通信,客户端的操作都会同步反应到服务器上,对邮件举行的操作,服务 * 上的邮件也会做相应的行动。比如在客户端收取了邮箱中的3封邮件,并将此中一封标记为已读,将别的两封标记为删除,这些操作会 * 立即反馈到服务器上。

两种协议比拟,IMAP 团体上为用户带来更加便利和靠得住的体验。POP3更容易丧失邮件或多次下载雷同的邮件,但IMAP通过邮件客户端 * 与webmail之间的双向同步功效很好地防止了这些题目。

public class IMAPReceiveMailTest { public static void main(String[] args) throws Exception { // 筹备毗连服务器的会话信息 Properties props = new Properties(); props.setProperty(“mail.store.protocol”, “imap”); props.setProperty(“mail.imap.host”, “http://imap.sina.cn”); props.setProperty(“mail.imap.port”, “143”); //163邮箱便是个奇葩 // 创建Session实例对象 Session session = Session.getInstance(props); // 创建IMAP协议的Store对象 Store store = session.getStore(“imap”); // 连接邮件服务器 //store.connect(“[email protected]”, “QQ邮箱是授权码”); store.connect(“173****[email protected]”, “新浪邮箱间接用密码”); // 得到收件箱 Folder folder = store.getFolder(“已发送”); // 以读写形式翻开收件箱 folder.open(Folder.READ_WRITE); // 获得收件箱的邮件列表 Message[] messages = folder.getMessages(); // 打印分歧状况的邮件数目 System.out.println(“收件箱中共” + messages.length + “封邮件!”); System.out.println(“收件箱中共” + folder.getUnreadMessageCount() + “封未读邮件!”); System.out.println(“收件箱中共” + folder.getNewMessageCount() + “封新邮件!”); System.out.println(“收件箱中共” + folder.getDeletedMessageCount() + “封已删除邮件!”); System.out.println("------------------------开始剖析邮件----------------------------------"); // 解析邮件 for (Message message : messages) { IMAPMessage msg = (IMAPMessage) message; String subject = MimeUtility.decodeText(msg.getSubject()); System.out.println("[" + subject + “]未读,是否需要浏览此邮件(yes/no)?”); BufferedReader reader = new BufferedReader(new InputStreamReader(http://System.in)); String answer = reader.readLine(); if (“yes”.equalsIgnoreCase(answer)) { POP3ReceiveMailTest.parseMessage(msg); // 解析邮件 // 第二个参数如果设置为true,则将点窜反馈给服务器。false则不反馈给服务器 msg.setFlag(Flag.SEEN, true); //设置已读标记 } } // 封闭资本 folder.close(false); store.close(); } } 使用者可以透过 MRA 服务器提供的邮政服务协议 (Post Office Protocol, POP)来收下本身的函件, 也可以透过 IMAP (Internet Message Access Protocol) 协议将自己的信件保存在邮件主机下面, 并进一步建立邮件数据匣等进阶事情。也就是说,当客户端收受信件时,使用的是 MRA 的 POP3, IMAP 等通信协议,并不是 MTA 的 SMTP 喔! 1. MUA 透过 POP3 (Post Office Protocol version 3) 的协议连接 到MRA的port 110, 而且输入账号与密码来获得精确的认证与授权; 2. MRA 确认该用户账号/密码没有问题后,会前往该使用者的 Mailbox (/var/spool/mail/使用者账号) 取得使用者的信件并传递给用户的 MUA 软件上; 3. 当所有的信件传送终了后, 用户的 mailbox 内的数据将会被删除! 在上述的流程傍边我们晓得 MRA 必需要启动 POP3 这个协议才行,不外这个协议的收件方式比力风趣, 因为使用者收信是由第一封信件开始收下直到末了一封信件传输完毕为止。“不过由于某些 MUA 程序撰写的问题,若有些邮件有病毒的大概性时,透过防病毒软件将可能致使该 MUA 软件的断线! 如此一来由于传输没有完毕,因此 MRA主机并不会将用户的信件删除。” 此时如果使用者又再一次的按下接收按键,呵呵!本来已接收的信件又会反复收到,而没有收到的还是收不到! 这个时辰或许你可以透过登入主机操纵 mail 这个指令来处置你有问题的邮件, 或许换一种 MUA 也是个不错的思虑标的目的,又大概临时将防病毒软件关掉也是可以斟酌的本领之一。 回头过去想想,因为 POP3 的协议预设会将信件删除,那如果我本日在办公室将我的信收到办公室的计算机中, 当我回家时再度启动MUA 时,是否能够收到曾经被接收的信件?固然不可,对吧! 或许你需要更有帮忙的协议,亦即" IMAP (Internet Messages Access Protocol) ,这个协议可以让你将 mailbox 的数据转存到你主机上的家目次,亦即 /home/账号/ 阿谁目录下, 那你不单可以建立邮件数据匣,也可以针对信件分类办理",并且在任何一个可连上收集的处所你只有登入主机, 本来的信件就还是存在吶!真是好啊! 不过,使用 IMAP 时,用户的目录最佳能够加点限定,比方利用 quota 来管理用户的硬盘权限, 否则因为信件都在主机上头,如果用户过多且误用时,你的硬盘空间会被吃光光喔!细致注意! OK!透过上面的阐明你要知道,"要架设一部可以使用 MUA 进行收发信件的 MTA,MRA 服务器,你最少也需要启动 SMTP 以及 POP3 这两个协议才行!"而这两个协议的启动程序并不相同, 以是架设上还是得要警惕注意啊!

你可能感兴趣的:(苹果家庭推,iMessage苹果群发,家庭推源码,macos,ios,windows)