加密,发送邮件

来源:互联网 发布:细说php第二版完整pdf 编辑:程序博客网 时间:2024/06/11 11:58

 今天是来到的第二天,学到东西还算听的懂,不是很吃力。

今天上午学了怎么用BASE46Encoder为键盘输入的账号,密码加密。

public static void main(String [] args) throws IOException{

       //在这里获取获取键盘上输入的

BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

//在这里输入账号,密码

       System.out.println("请输入用户名:");

       String username=br.readLine();

       System.out.println("请输入密码:");

       String userpass=br.readLine();

       //这里用BASE64Encoder为得到的账号密码加密

       BASE64Encoder bc=new BASE64Encoder();

      

       //这里输出加密后的账号,密码

System.out.println("加密后的用户名:"+bc.encode(username.getBytes()));

System.out.println("加密后的密码:"+bc.encode(userpass.getBytes()));

      

}

 

后来讲了关于邮件发送的原理和一些有关的知识。

邮件发送是依靠smpt找个协议,发送成功后对方在依靠pop3协议接受发送的邮件

下面是一段发送邮件的代码,一些的账号经过上面加密方法加过密的。

这里用的是一个提前注册号的sohu邮箱和一个sina的邮箱做个的实验

public static void main(String[] args) throws UnknownHostException, IOException{

    //连接sohu的邮件发送服务器

       Socket sk=new Socket("smtp.sohu.com",25);

       //创建一个字节的输出流

       OutputStream os=sk.getOutputStream();

        //获取从sohu服务器传出来的字节然后装换成字符的

       BufferedReader br=new BufferedReader(new InputStreamReader(sk.getInputStream()));

      

       System.out.println(br.readLine());

       //连接成功后输入“ehlo 主机名”

       os.write("ehlo Lee/r/n".getBytes());

        //跳过三行,这三行会自己输出东西

       System.out.println(br.readLine());

       System.out.println(br.readLine());

       System.out.println(br.readLine());

 

       //输入“anth login

       os.write("auth login/r/n".getBytes());

       System.out.println(br.readLine());

      

       //输了加密后的账号

       os.write("cmVkYXJteWNzZG4=/r/n".getBytes());

       System.out.println(br.readLine());

       //输入加密后的密码

       os.write("cmVkYXJteWNzZG4=/r/n".getBytes());

       System.out.println(br.readLine());

      

       //输入发送邮件的邮箱

       os.write("mail from:<redarmycsdn@sohu.com>/r/n".getBytes());

       System.out.println(br.readLine());

       //输入接受邮件的邮箱

       os.write("rcpt to:<redarmycsdn@sina.com>/r/n".getBytes());

       System.out.println(br.readLine());

      

       //输入data准备输入正文

       os.write("data/r/n".getBytes());

       System.out.println(br.readLine());

//输入主题

       os.write("subject:ss/r/n".getBytes());

      

       //输入发件人

       os.write("from:<redarmycsdn@qq.com>/r/n".getBytes());

      

       //输入收件人

       os.write("to:<redarmycsdn@sina.com>/r/n".getBytes());

   

       //输入邮件内容

       os.write("ssssssdddddd/r/n".getBytes());

   

       //输入一个“.”表示结尾

       os.write("./r/n".getBytes());

       System.out.println(br.readLine());

       //输入“quit断开连接,退出”

       os.write("quit/r".getBytes());

      

      

      

       //关闭Br字符输入流

       br.close();

 

       //关闭os输出流

       os.close();

       //关闭sk

       sk.close();

      

      

      

      

    }

 

今天收获就这些,有一些还有点不清楚,下去问问会的同学!

今天学的挺有意思的!

原创粉丝点击