链接:https://pan.baidu.com/s/1SIGj2HIhzPl2DVhl8bS_5g?pwd=7tjj
提取码:7tjj
因为是apache开源java项目所以Linux必须要有java环境:
tar -xf james-binary-2.3.2.1.tar.gz
chmod +wxr run.sh phoenix.sh
会遇见的问题:
1. 权限不足:出现原因有两种①你使用的是普通用户权限,他需要启动的端口都是100上下的,普通用户没有权限。②部分文件没有执行权限,你使用su获取的root用户,启动执行脚本,导致部分解压出来的文件所属用户组是root,你没有执行权限。
2.地址被占用:原因:端口被占用,占用的端口,启动服务需要的端口有
4555 连接端口
25 SMTP端口
110 POP3端口
119 NNTP端口
解决办法:
1.直接使用root用户全局操作。
2.在执行./run.sh脚本即第四步之后,在./apps/james/SAR-INF 文件下有个config.xml文件,该文件是邮箱服务器的配置文件,在该文件中修改所有的端口号即可,普通用户就可以调度修改后的端口。
3.部分文件没有执行权限,如果是用su获取root权限执行了一遍脚本的,可以使用root权限下chown -R '用户':'组' '文件'的方式修改文件下所有的用户组。
./run.sh
如果是外网有域名的话就直接进入4.2
执行:
vi /etc/hosts
在文件中添加: 127.0.0.1 email.com
既可在该网段下配置虚拟域名
进入./apps/james/SAR-INF 文件下的config.xml
1.配置localhost
- <postmaster>Postmaster@localhostpostmaster>
- <servernames autodetect="true" autodetectIP="true">
- <servername>localhostservername>
- servernames>
修改为:
autodetect设为true会自动侦测你的主机名,设成false会用你指定的server name
autodetectIP设为true会为你的servername加上ip,如果开了一个用户user,那么他的邮件地址就是user@email.com
- <postmaster>Postmaster@email.compostmaster>
- <servernames autodetect="false" autodetectIP="false">
- <servername>email.comservername>
- servernames>
2.注释下面配置
3.查找所有的myMailServer 替换为你自己的域名
<helloName autodetect="true">myMailServerhelloName>
修改为:
<helloName autodetect="true">email.comhelloName>
5.设置身份认证,取消注释
<authRequired>trueauthRequired>
6.修改密码(可改可不改)
<account login="root" password="root"/>
默认是!chxxx! 不太记得了
1.进入控制台:telnet localhost 4555
2.输入用户名密码: root/root
3.创建用户:adduser user 123
会遇见的问题:
1.没有telnet命令。
解决办法:
1.检测telnet-server的rpm包是否安装。执行:rpm -qa telnet-server 。
2.若未安装,则执行:yum install telnet-server 进行安装,反之直接进入第三步。
3.检测telnet-server的rpm包是否安装。执行:rpm -qa telnet 。4.若未安装,则执行:yum install telnet,反之直接进入第五步。
5.重新启动xinetd守护进程 service xinetd restart 。
6.如果两个都安装了都还没有用就重启服务器。
下载链接:Foxmail for Mac
选择其他邮箱 > 手动设置 >
> 输入自己添加的账号密码,服务器就填写自己的服务器地址
会遇见的问题:
1.云服务器防火墙没开。
2.虚拟域名有问题,可以在自己FoxMail的电脑上测一下可以不可以 ping 通
- package com.liang.sender;
-
- import javax.mail.MessagingException;
- import java.util.Scanner;
- import javax.mail.*;
- import javax.mail.internet.InternetAddress;
- import javax.mail.internet.MimeMessage;
- import java.util.Properties;
-
- public class Main {
- public static void main(String[] args) {
- //发送者账号密码
- final String user = "ronxxao.lxxng";
- final String password = "1xx3x";
- //接收者邮箱
- final String recipient = "lixxxry@163.com";
-
- Scanner scanner = new Scanner(System.in);
- StringBuilder sb = new StringBuilder();
- String s = "";
-
- System.out.println("请输入要发送的信息");
- while (!(s = scanner.nextLine()).equals("end")) {
- sb.append(s);
- sb.append("
"); - }
-
- try {
- sendEmail(user, password, recipient, "test", sb.toString());
- } catch (MessagingException e) {
- e.printStackTrace();
- }
- }
-
- private static void sendEmail(String user, String password, String recipient, String title, String sendMessage)
- throws MessagingException {
- Properties p = new Properties();
- p.setProperty("mail.smtp.host", "email.xxxxx.top");//发送者邮箱服务器
- p.setProperty("mail.smtp.port", "25");//发送者端口
- p.setProperty("mail.smtp.auth", "true");//是否开启权限控制
- p.setProperty("mail.transport", "smtp");//协议
- Session session = Session.getInstance(p, new Authenticator() {
- @Override
- public PasswordAuthentication getPasswordAuthentication() {
- return new PasswordAuthentication(user, password);
- }
- });
- Message message = new MimeMessage(session);
- message.setFrom(new InternetAddress(user));
- //设置收件人地址
- message.setRecipient(Message.RecipientType.TO, new InternetAddress(recipient));
- message.setSubject(title);
- message.setContent(sendMessage, "text/html;charset=UTF-8");
- try {
- Transport.send(message, user, password);
- } catch (AuthenticationFailedException e) {
- System.out.println("身份验证失败");
- }
- System.out.println("sent");
- }
-
- }