java中stamp是什么意思_在java中怎么用cmd发送邮件?stamp怎么发送?

发送邮件在我们的日常工作当中还是比较常用的。那么,在java中以cmd和stamp的方式应该怎么发送邮件呢?

首先说一下需要掌握的一些基本知识:1.打开talent客户端;2.掌握在cmd/stamp下邮件的发送;3.发送者邮箱开启客户端授权码;4.掌握Base64编码;5.最重要的是,会写代码。

接下来分别为大家概述。

1.掌握在cmd下实现邮件发送。首先开启Telnet客户端(控制面板/程序/打开或关闭windows功能/选择Telnet客户端)操作图片如下:

d042ddb118c98d27d7f7918f39f982ad.png

然后学会在cmd下发送邮件的操作流程,代码如下:telnet smtp .163.com 25

220

helo myxulinjie

250 ok

auth login

334 dXNlcm5hbWU6

**

* (这里输入发送者邮箱的Base64码)

334 UGFzc3dvcmQ6

**

* (这里输入发送者授权码的密码, 注意不是邮箱密码)

235 Authentication successful

mail from: 

250 Mail Ok

rcpt to: 

250 Mail Ok

data

354 End data with .

to: 接收者邮箱@163.com

from: 发送者邮箱@163.com

subject:test telnet smtp mail

what is your name?

.

250 Mail OK.........

rset

250 OK

quit

221 Bye

2.发送者邮箱开启客户端授权码,用163邮箱举例,图片操作如下:

433e9dad675f05f74394a8d0fc17b3b9.png

3.用stamp发送邮件,这个是在CC的Base64编解码工具类的基础上进行的,具体操作如下:package Base64Demo;

import org.apache.commons.codec.binary.Base64;

/*

*基于commons-codec-1.11

*/

public class Base64Utile_cc

{

/*

*加密过程

*/

public static String EncodeBase64(byte[] data)

{

Base64 en = new Base64();

String str = en.encodeBase64String(data);

return str;

}

/*

*解密过程

*/

public static String DecodeBase64(String str)

{

Base64 de = new Base64();

byte[] ResultBase = de.decodeBase64(str);

String str2 = new String(ResultBase);

return str2;

}

}package Base64Demo;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.OutputStream;

import java.io.PrintWriter;

import java.net.Socket;

public class SMTPDEMO

{

public static void main(String[] args)

{

/*

*用户名和密码

*/

String SendUser = "ash_ali@163.com";

String SendPassword = "xlj932834897";

String ReceiveUser = "ash_ali01@163.com";

/*

*对用户名和密码进行Base64编码

*/

String UserBase64 = Base64Utile_cc.EncodeBase64(SendUser.getBytes());

String PasswordBase64 = Base64Utile_cc.EncodeBase64(SendPassword.getBytes());

try

{

/*

*远程连接smtp.163.com服务器的25号端口

*并定义输入流和输出流(输入流读取服务器返回的信息、输出流向服务器发送相应的信息)

*/

Socket socket = new Socket("smtp.163.com", 25);

InputStream inputStream = socket.getInputStream(); //读取服务器返回信息的流

InputStreamReader isr = new InputStreamReader(inputStream); //字节解码为字符

BufferedReader br = new BufferedReader(isr); //字符缓冲

OutputStream outputStream = socket.getOutputStream(); //向服务器发送相应信息

PrintWriter pw = new PrintWriter(outputStream, true); //true代表自带flush

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

/*

*向服务器发送信息以及返回其相应结果

*/

//helo

pw.println("helo myxulinjie");

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

//auth login

pw.println("auth login");

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

pw.println(UserBase64);

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

pw.println(PasswordBase64);

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

//Set "mail from" and  "rect to"

pw.println("mail from:");

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

pw.println("rcpt to:");

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

//Set "data"

pw.println("data");

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

//正文主体(包括标题,发送方,接收方,内容,点)

pw.println("subject:myxulinjie");

pw.println("from:" + SendUser);

pw.println("to:" + ReceiveUser);

pw.println("Content-Type: text/plain;charset=\"gb2312\""); //设置编码格式可发送中文内容

pw.println();

pw.println("大家好,欢迎来到林杰的专栏");

pw.println(".");

pw.print("");

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

/*

*发送完毕,中断与服务器连接

*/

pw.println("rset");

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

pw.println("quit");

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

}

catch (IOException e)

{

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

faa0da56850fe709c2df667164db70a0.png

以上就是关于如何在java中用cmd和stamp方式发送邮件的具体操作流程。想要了解更多java程序代码例子以及常见问题,敬请关注奇Q工具网。

推荐阅读:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值