首先我们这边需要james包,这边为大家提供了百度云盘的下载地址:2搭建james服务器,首先打开我们的james文件夹3在james的bin目录中包含两个重要文件run.bat和run.sh,运行run.bat就可以轻松地启动james邮件服务器4在这之前,大家首先要找到你的控制面板,点击启动或关闭windows功能,在里面找到telnet的服务端和客户端选择打开运行我们bin目录下的run.bat进入命令窗体进如如下命令窗体在命令窗体中输入telnetlocalhost4555进行登陆步骤阅读输入用户名,密码,进行登陆系统默认的管理员用户名为root密码也为root,输入之后进入登陆随后我们进行添加测试用户,这里我添加了jerry和tina两个用户,这里给大家表明添加语句:adduser【username】【userpassword】添加完成数据之后,我们输入listusers命令来查看当前所有用户这里我们可以查看到我刚才添加的两个用户jerry和tina以上就是如何搭建james邮件服务器,希望可以帮到大家
内网是自己搭建的邮件服务器么?我以前用过apache的开源邮件服务器james,也是只需要设置props.setProperty("mail.host", "smtp.mymail.com")就可以了,至于smtp.mymail.com是可以配置在邮件服务器里面的,跟ip没关系的james邮件服务器对用户的密码进行了加密。默认使用的方式是“SHA”。
可以找到加密和解密的源码
package org.apache.james.security
import javax.mail.MessagingException
import javax.mail.internet.MimeUtility
import java.io.ByteArrayOutputStream
import java.io.FileInputStream
import java.io.FileOutputStream
import java.io.IOException
import java.io.OutputStream
import java.security.MessageDigest
import java.security.NoSuchAlgorithmException
import java.util.Locale
public class DigestUtil {
public static void main(String[] args) {
//...
}
public static void printUsage() {
//...
}
public static void digestFile(String filename, String algorithm) {
byte[] b = new byte[65536]
int count = 0
int read = 0
FileInputStream fis = null
FileOutputStream fos = null
try {
MessageDigest md = MessageDigest.getInstance(algorithm)
fis = new FileInputStream(filename)
while (fis.available() >0) {
read = fis.read(b)
md.update(b, 0, read)
count += read
}
byte[] digest = md.digest()
StringBuffer fileNameBuffer =
new StringBuffer(128)
.append(filename)
.append(".")
.append(algorithm)
fos = new FileOutputStream(fileNameBuffer.toString())
OutputStream encodedStream = MimeUtility.encode(fos, "base64")
encodedStream.write(digest)
fos.flush()
} catch (Exception e) {
System.out.println("Error computing Digest: " + e)
} finally {
try {
fis.close()
fos.close()
} catch (Exception ignored) {}
}
}
public static String digestString(String pass, String algorithm )
throws NoSuchAlgorithmException {
MessageDigest md
ByteArrayOutputStream bos
try {
md = MessageDigest.getInstance(algorithm)
byte[] digest = md.digest(pass.getBytes("iso-8859-1"))
bos = new ByteArrayOutputStream()
OutputStream encodedStream = MimeUtility.encode(bos, "base64")
encodedStream.write(digest)
return bos.toString("iso-8859-1")
} catch (IOException ioe) {
throw new RuntimeException("Fatal error: " + ioe)
} catch (MessagingException me) {
throw new RuntimeException("Fatal error: " + me)
}
}
private DigestUtil() {
}
}
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)