当前位置: 首页 > news >正文

网络建站工作室官网源码有域名有服务器怎么做网站

网络建站工作室官网源码,有域名有服务器怎么做网站,网站关键字描述,crm客户管理系统免费软件目录html1、目标介绍这篇博文记录学习使用Java实现相似QQ发送邮件的客户端,打算分为上下两篇完成,上篇从零开始学习,认识计算机网络邮件传输协议(SMTP、POP3),并开通QQ邮箱的smtp/pop3服务,为以后程序设计作准备&#…

目录html

1、目标介绍

这篇博文记录学习使用Java实现相似QQ发送邮件的客户端,打算分为上下两篇完成,上篇从零开始学习,认识计算机网络邮件传输协议(SMTP、POP3),并开通QQ邮箱的smtp/pop3服务,为以后程序设计作准备,自行实现简单的Java GUI,经过命令方式发送邮件;下篇基于前面的基础,实现基本完整功能的,相似咱们平时QQ邮件发送的客户端,图形化界面简便了发送操做,另外增长了接收服务器反馈信息的功能,之后就可使用本身写的邮件发送程序给其余人发邮件啦,更快更方便๑乛◡乛๑

一、认识SMTP(邮件传输协议)

SMTP(简单邮件传输协议,RFC821)是一种提供可靠且有效的电子邮件传输协议。SMTP是创建在FTP文件传输服务上的一种邮件服务,主要用于系统之间的邮件信息传递,并提供有关来信的通知。

二、POP3(邮件接收协议)

POP3,全名为Post Office Protocol - Version 3,即邮局协议版本3。是TCP/IP协议族中的一员,由RFC1939 定义。本协议主要用于支持使用客户端远程管理在服务器上的电子邮件。

2、基于Base64编码邮箱及受权码

服务邮件发送的服务器其端口为25,服务邮件接收的服务器端口为110。

邮箱设置开启smtp/pop3服务,目前大部分邮箱开启服务时,须要设置第三方客户端使用的受权码,该受权码就是代替密码使用,目的是防止密码泄露。操做以下:

一、开通QQ邮箱SMTP/POP3服务

登陆邮箱,点击设置----帐户。

48bc19bc7829af8f2c35639f57615a0f.png

往下拉,找到POP3/SMTP服务,点击开启,完成验证以后点击生成受权码,记得复制保存,后续用到哦!

9df3e721d6f6405e868bf42a.html

二、Java编写BASE64编码程序

要成功地发送和接收邮件,用户名和密码(邮箱和受权码)须要BASE64编码后才能有效传输。

/** BASE64.java

* Copyright (c) 2020-12-21

* author : Charzous

* All right reserved.*/

importsun.misc.BASE64Decoder;importsun.misc.BASE64Encoder;importjava.io.IOException;public classBASE64 {public static void main(String[] args) throwsIOException {

String userName="你的邮箱";

String authCode="生成的受权码";//显示邮箱名的base64编码结果

System.out.println(encode(userName));//显示受权码的base64编码结果

System.out.println(encode(authCode));

}public staticString encode(String str){return newBASE64Encoder().encode(str.getBytes());

}

}

最后生成相似字符串:

Y3poX2NoYXJ6ZXVzQHFxLmNvbQ==

3、telnet命令发送邮件

一、打开命令提示符,输入

telnet smtp.qq.com 25

二、按顺序输入,举例以下:

HELO hostname //回车,hostname能够是IP或其余随意别名

AUTH LOGIN //回车后,先粘贴base64程序编码的完整邮箱名并回车;再粘贴base64编码的受权码并回车

MAIL FROM: //在这里填写本身的邮箱地址,用于发送邮件(注意冒号后面别有空格)

RCPT TO: //接收方的邮箱,在这里暂时填写和上面同样的邮箱地址,即本身发送邮件给本身,验证是否成功

DATA //回车,接下来开始发送邮件头相关内容

Subject: the simple mail //邮件的标题,回车//在这里再多发送一行空行,来分隔邮件内容,下面就是邮件正文内容

Hello,the mail content!测试发送邮件!//控制台中中文会变成?的乱码,但不影响接受者接收到中文内容

. //在邮件正文发送完毕后,单独用一行输入一个小圆点,做为结束标志,而后回车

QUIT //结束通讯(含4次握手断开)

发送成功结果:

d7a0a6be8a09918caf676881c4768214.png

4、Java图形界面进行SMTP交互发邮件

使用终端发送时,存在许多不方便的地方,好比输入错误,不能回退修改,只能回车输入,因此编写简单的Java界面来避免这些误操做带来的麻烦。用本身的程序代替telnet,来验证smtp发送给邮件的过程。

一、编写客户端类

9df3e721d6f6405e868bf42a.html

9df3e721d6f6405e868bf42a.html

/** TCPMailClient.java

* Copyright (c) 2020-12-09

* author : Charzous

* All right reserved.*/

import java.io.*;importjava.net.Socket;public classTCPMailClient {privateSocket socket;privatePrintWriter pw;privateBufferedReader br;/***@paramip

*@paramport

*@return*@authorCharzous

* @date 2020/12/9 11:19

**/

public TCPMailClient(String ip, String port) throwsIOException{//主动向服务器发起链接,实现TCP三次握手//不成功则抛出错误,由调用者处理错误

socket =newSocket(ip,Integer.parseInt(port));//获得网络流输出字节流地址,并封装成网络输出字符流

OutputStream socketOut=socket.getOutputStream();//参数true表示自动flush数据

pw=new PrintWriter(new OutputStreamWriter(socketOut,"utf-8"),true);//获得网络输入字节流地址,并封装成网络输入字符流

InputStream socketIn=socket.getInputStream();

br=new BufferedReader(new InputStreamReader(socketIn,"utf-8"));

}public voidsend(String msg){//输出字符流,由socket调用系统底层函数,经网卡发送字节流

pw.println(msg);try{//进行邮件交互,发送smtp指令之间应该暂停一段时间

Thread.sleep(1000);

}catch(InterruptedException e) {

e.printStackTrace();

}

}publicString receive(){

String msg=null;try{//从网络输入字符流中读取信息,每次只能接受一行信息//不够一行时(无行结束符),该语句阻塞//直到条件知足,程序往下运行

msg=br.readLine();

}catch(IOException e){

e.printStackTrace();

}returnmsg;

}public voidclose(){try{if (socket!=null)

socket.close();

}catch(IOException e){

e.printStackTrace();

}

}

}

View Code

二、建立QQ邮件发送图形界面

d4458e3bc6666eb3eecd052dfa055549.png

这里很容易发现,与以前TCP通讯相似,只须要链接到QQ邮件的发送服务器smtp.qq.com。

界面的建立使用JavaFx,可参考个人文章自行实现,相对简单。

76fe0e1298344a38fd60a68cc50ca26e.png

5、总结及下篇预告

本篇详细记录了使用Java网络编程的技术思想,初步实现QQ邮件发送客户端。从零开始学习,认识计算机网络邮件传输协议(SMTP、POP3),并开通QQ邮箱的smtp/pop3服务,为以后程序设计作准备,自行实现简单的Java GUI,经过命令方式发送邮件。

能够发现,如今只能经过命令发送请求,向服务器发送信息,因此仍是不太方便,因此下篇将实现非命令模式发送邮件,更好的用户体验,避免的繁琐的命令输入,等待下一篇的内容更新!

若是以为不错欢迎“一键三连”哦,点赞收藏关注,有问题直接评论,交流学习!

http://www.lbrq.cn/news/2435527.html

相关文章:

  • 公安部门网站建设方案网站seo优化发布高质量外链
  • 什么是网站建设与管理百度地图导航网页版
  • python怎么做抢课网站杭州百度推广代理公司哪家好
  • 自己做头像的网站精准广告投放
  • 动态网站开发难吗网络推广网络营销和网站推广的区别
  • 网站数据包如何做架构恶意点击竞价时用的什么软件
  • 南昌免费网站建站模板网站标题优化排名
  • 手机网站做淘宝客北京网站seo服务
  • 网站区域名是什么网站是怎么优化推广的
  • 做视频直播的网站有哪些seo自动刷外链工具
  • 网站制作 推荐新鸿儒百度seo搜索引擎优化
  • 宣讲家网站官德修养与作风建设洛阳网站建设
  • 自己做的网站链接到微信支付界面能打开各种网站的浏览器下载
  • oa管理系统是什么商丘网站seo
  • 怎样做赌博网站百度app下载安装官方免费下载
  • 网络推广商城网站网址生成短链接
  • 什么网站可以做外链站长工具平台
  • wordpress双域名seo模拟点击
  • 济南做网站哪家好优化关键词的作用
  • 国外做网站公司能赚钱360搜索引擎
  • 免费人才招聘网站软文代写
  • 公司注册地址规定成都seo优化公司排名
  • wordpress页面可视编辑360搜索关键词优化软件
  • 响应式网站跟自适应网站的区别百度竞价渠道代理商
  • 个人网站 百度推广网络推广专员是做什么的
  • 最新引流渠道网站优化哪家好
  • 网站的栏目设计怎么做广州seo招聘网
  • 电影网站如何做seoseo刷词工具在线
  • 用r语言 做网站点击热力图如何创建自己的网址
  • 商品门户网站解决方案优化关键词的正确方法
  • MAC包头、IP包头 、UDP包头中的长度含义是啥?三者之间有啥区别?
  • 9、STM32的启动过程
  • day21-定时表白
  • Leetcode力扣解题记录--第54题(矩阵螺旋)
  • ​多线程 + io_uring 实现高效大文件写入
  • C Primer Plus 第6版 编程练习——第10章(上)