当前位置:首页 » 密码管理 » java加密邮件

java加密邮件

发布时间: 2022-06-10 22:37:35

java 发hotmail邮件

接收邮件服务器(POP3服务器):pop3.live.com
Incoming Server POP Port: 995接收邮件服务器的POP端口:995
Incoming Server POP SSL Encryption: Yes (On or Required)接收邮件服务器的POP SSL加密:是(开或必填)

Outgoing Server (SMTP Server): smtp.live.com发送服务器(SMTP服务器):smtp.live.com
Outgoing Server SMTP Port: 25发送服务器SMTP端口:25
Outgoing Server Authentication: Yes (On – Use POP username and password or Hotmail credentials)发送服务器身份验证:是

㈡ java 发邮件问题

"smtp.163..com" 多写了个"."

日志都说了>_<

㈢ java里怎么发验证码到邮箱,然后登陆邮箱获取验证码请高手指点,尽量具体些。。。

邮箱验证分几种,
最简单的是直接发送验证码:验证码随机产生,可以放到cookie里,限制有效时间就是cookie的存活时间。产生之后和发送邮件一样直接发送到邮箱。当用户验证的时候直接从cookie里拿到验证码进行比较。
还有一种是验证链接。在链接里要放一个验证参数,这个参数包括用户名或用户id,创建时间,验证码。当然都要用某种方法去加密,当用户点击这个链接的时候,根据相应的方法解密获得参数。这个可以放到一张动态表里,表中有验证码和对应的用户名或id。当用户要求验证的时候从数据库中拿到验证码,根据链接中的时间判断是否过期。验证成功后删除本条数据即可。如果链接只能使用一次,那么在根据用户名拿到数据之后不管验证是否成功都要删除数据

㈣ java mail为啥 分段 base64

MimeBodyPart 这个类中的 setFileName 方法 用到一个 ParameterList 在ParameterList 的 toString 类中找到下面一段:
if (v instanceof MultiValue) {// ....ns = name + i + "*";//...} } else if (v instanceof Value) {/// ... } else {if (value.length() > 60 &&splitLongParameters && encodeParameters) { int seg = 0; name += "*"; /// ....}123456789101112131415

这个类在邮件附件属于 MultiValue 会把 名字用name + i 隔开 ,在名字大于 60个字符的时候也会主动截断,这也就是 javamail 中 附件的命名规则,名字太长会被截断~~!
中文在base64 加密后,超过60个字符那是妥妥的有可能。这种截断文件名的模式在某些客户端,比如闪电邮中,并不能很好的支持。
参考资料来源:网络贴吧

㈤ javaweb 中用通过发送邮件的方法找回密码 怎么做

邮件的链接中应该有一个识别码,识别码应该是加密过的,包含用户名等你需要知道的信息。有一个找回的方法。判断识别码是否是你加密的内容,是就链接到重置密码,或者查他的密码。

㈥ JAVA编写的用smtp模拟邮件客户端,但是身份验证500语法错误

首先你已经在邮件客户端里面设置了smtp服务器的地址,并且你也填写了你的邮箱账户和密码,客户端软件在发送你所编辑好的邮件时,先和smtp进行验证,之后才可以通过smtp服务器来发送邮件的,这个过程并不是你通过网页的方式登陆邮箱那样可以被你看到,基本上验证就是一眨眼就完成了。你可以尝试一下,在你的客户端里面把密码故意输错掉,然后试试看能不能发邮件就知道了,答案是肯定发不了,客户端会提示你“账号或者密码错误,无法登陆服务器”之类的提示。

㈦ java如何实现批量发送邮件

1.要想效率发邮件可以用多线程每个线程发指定批量的邮件
2.要想不被查封为垃圾邮件,这个就有很多地方要注意了
邮件的内容不要含有太多图片信息,内容尽量简洁,不要涉及一些淫秽色情的东西。
不要向同一个人发送同样的邮件。
发邮件时ip最好用代理每发送个50封邮件就换个ip,因为邮件服务器也会检查你ip在这么短时间发了这么多邮件也会认为你是恶意群发。
最好能加入邮件接收者的白名单或订阅名单

㈧ 怎样用java实现邮件的发送

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;
import java.net.SocketException;
import java.rmi.UnknownHostException;
import java.util.StringTokenizer;

import sun.misc.BASE64Encoder;

public class Sender {
//private boolean debug = true;
BASE64Encoder encode=new BASE64Encoder();//用于加密后发送用户名和密码
static int dk=25;

private Socket socket;

public Sender(String server, int port) throws UnknownHostException,
IOException {
try {
socket = new Socket(server, dk);
} catch (SocketException e) {
System.out.println(e.getMessage());
} catch (Exception e) {
e.printStackTrace();
} finally {
//System.out.println("已经建立连接!");
}

}

// 注册到邮件服务器
public void helo(String server, BufferedReader in, BufferedWriter out)
throws IOException {
int result;
result = getResult(in);
// 连接上邮件服务后,服务器给出220应答
if (result != 220) {
throw new IOException("连接服务器失败");
}
result = sendServer("HELO " + server, in, out);
// HELO命令成功后返回250
if (result != 250) {
throw new IOException("注册邮件服务器失败!");
}
}

private int sendServer(String str, BufferedReader in, BufferedWriter out)
throws IOException {
out.write(str);
out.newLine();
out.flush();
/*
if (debug) {
System.out.println("已发送命令:" + str);
}
*/
return getResult(in);
}

public int getResult(BufferedReader in) {
String line = "";
try {
line = in.readLine();
/*
if (debug) {
System.out.println("服务器返回状态:" + line);
}
*/
} catch (Exception e) {
e.printStackTrace();
}
// 从服务器返回消息中读出状态码,将其转换成整数返回

StringTokenizer st = new StringTokenizer(line, " ");
return Integer.parseInt(st.nextToken());
}

public void authLogin(MailMessage message, BufferedReader in,
BufferedWriter out) throws IOException {
int result;
result = sendServer("AUTH LOGIN", in, out);

if (result != 334) {
throw new IOException("用户验证失败!");
}

result=sendServer(encode.encode(message.getUser().getBytes()),in,out);
//System.out.println("用户名: "+encode.encode(message.getUser().getBytes()));
if (result != 334) {
throw new IOException("用户名错误!");
}
result=sendServer(encode.encode(message.getPassword().getBytes()),in,out);
//result=sendServer(message.getPassword(),in,out);
//System.out.println("密码: "+encode.encode(message.getPassword().getBytes()));
if (result != 235) {
throw new IOException("验证失败!");
}
}

// 开始发送消息,邮件源地址
public void mailfrom(String source, BufferedReader in, BufferedWriter out)
throws IOException {
int result;
result = sendServer("MAIL FROM:<" + source + ">", in, out);
if (result != 250) {
throw new IOException("指定源地址错误");
}
}

// 设置邮件收件人
public void rcpt(String touchman, BufferedReader in, BufferedWriter out)
throws IOException {
int result;
result = sendServer("RCPT TO:<" + touchman + ">", in, out);
if (result != 250) {
throw new IOException("指定目的地址错误!");
}
}

// 邮件体
public void data(String from, String to, String subject, String content,
BufferedReader in, BufferedWriter out) throws IOException {
int result;
result = sendServer("DATA", in, out);
// 输入DATA回车后,若收到354应答后,继续输入邮件内容
if (result != 354) {
throw new IOException("不能发送数据");
}
out.write("From: " + from);
out.newLine();
out.write("To: " + to);
out.newLine();
out.write("Subject: " + subject);
out.newLine();
out.newLine();
out.write(content);
out.newLine();
// 句号加回车结束邮件内容输入
result = sendServer(".", in, out);
//System.out.println(result);
if (result != 250) {
throw new IOException("发送数据错误");
}
}

// 退出
public void quit(BufferedReader in, BufferedWriter out) throws IOException {
int result;
result = sendServer("QUIT", in, out);
if (result != 221) {
throw new IOException("未能正确退出");
}
}

// 发送邮件主程序
public boolean sendMail(MailMessage message, String server) {
try {
BufferedReader in = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(
socket.getOutputStream()));
helo(server, in, out);// HELO命令
authLogin(message, in, out);// AUTH LOGIN命令
mailfrom(message.getFrom(), in, out);// MAIL FROM
rcpt(message.getTo(), in, out);// RCPT
data(message.getDatafrom(), message.getDatato(),
message.getSubject(), message.getContent(), in, out);// DATA
quit(in, out);// QUIT
} catch (Exception e) {
e.printStackTrace();
return false;

}
return true;
}
}
再写一个MailMessage.java,set/get方法即可。

㈨ 【Java】有java收取邮件,但是对方的邮件服务器,端口995有ssl加密,有做过这方面的大神啊

http://blog.csdn.net/chenshanhao2008/article/details/5695072
这里面有SSL方式收取邮件的例子,你试试,

㈩ java发送邮件时候,代码中的密码怎么不使用明文

发送时候密码串加密
接收的时候让对方解密 就不是明文了

热点内容
湖人双核配置哪个最好 发布:2025-05-15 10:09:48 浏览:978
手机热点密码怎么查看 发布:2025-05-15 09:54:47 浏览:108
生意发力云存储 发布:2025-05-15 09:54:45 浏览:616
编写一个shell脚本添加用户 发布:2025-05-15 09:54:43 浏览:505
数据库查看表命令 发布:2025-05-15 09:52:27 浏览:914
p30是不是自带方舟编译器 发布:2025-05-15 09:51:48 浏览:599
追击世界房间密码是多少 发布:2025-05-15 09:51:46 浏览:995
cjavabyte 发布:2025-05-15 09:51:36 浏览:463
visa存储卡 发布:2025-05-15 09:35:07 浏览:619
js调用php的方法 发布:2025-05-15 09:29:13 浏览:496