1、配置jdk,此处不再赘述,随便搜一下然后照着操作即可

注意:后续james的版本是3.5.0,需要与jdk8配套

2、下载apache james ,apacheJames 下载之后可以直接运行,无需安装

注意:此处选择3.5.0版本,因为更高版本与jdk8不配套

Index of /dist/james/server/3.5.0

2、下载foxmail,用于后续进行测试

Foxmail for Mac

3、安装foxmail

双击前一步下载的foxmail包,傻瓜式下一步安装即可

搭建ApacheJames邮件服务器

1、修改 mailetcontainer.xml,修改postmaster的值为postmaster@st.com

注意:下述@st.com为自定义的邮件域名,与@163.com类似

<context>

    <!-- When the domain part of the postmaster mailAddress is missing, the default domain is appended.

    You can configure it to (for example) <postmaster>postmaster@myDomain.com</postmaster> -->

    <postmaster>postmaster@st.com</postmaster>

</context>

2、修改 smtpserver.xml

将authRequired、verifyIdentity值配置为false

将helloName配置为st.com。注意与步骤1中保持一致

<authRequired>true</authRequired>

<verifyIdentity>true</verifyIdentity>

<helloName autodetect="true">st.com</helloName>

3、修改 domainlist.xml

将autodetect、autodetectIP的值配置为false

将defaultDomain配置为st.com。注意与步骤1中保持一致

<domainlist class="org.apache.james.domainlist.jpa.JPADomainList">

   <autodetect>false</autodetect>

   <autodetectIP>false</autodetectIP>

   <defaultDomain>st.com</defaultDomain>

</domainlist>

4、启动james

进入james-server-app-3.5.0/bin目录中,windows执行run.bat,linux执行sh run.sh

注意:windows中先打开dos窗口,然后再执行run.bat,直接在界面双击run.bat文件执行,会启动失败

5、创建域名

进入james-server-app-3.5.0/bin目录中

james-cli.bat -h localhost -p 9999 adddomain st.com

6、创建用户

进入james-server-app-3.5.0/bin目录中,执行如下命令,分别创建两个用户 steven@st.com(密码:123456)、russell@st.com(密码:123456)

james-cli.bat -h localhost -p 9999 adduser steven@st.com 123456

james-cli.bat -h localhost -p 9999 adduser russell@st.com 123456

7、 使用foxmail 连接james mail

此时james服务器已经启动并且可以使用了,打开foxmail,创建两个用户steven@st.com、russell@st.com,注意密码和前面创建用户的信息对应

 

 

8、发送邮件

9、接收邮件,注意:若是邮件接收不及时,可以手动点击左上角的收取按钮,即可接收到最新的邮件

 开启james的ssl

1、从jre/lib/ext中拷贝sunjce_provider.jar到james-server-app-3.5.0/lib

2、在james-server-app-3.5.0/conf下生成keystore,直接在james-server-app-3.5.0/conf下执行keytool命令,后续就不用重新将keystore文件移动了

keytool -genkey -alias james -keyalg RSA -keystore keystore

 注意:

  • 生成keystore的口令别忘了,后续配置会用到
  • 名字与姓氏时输入之前的域名st.com
  • 后续的步骤可以直接回车跳过

3、修改smtpserver.xml

修改25端口为465

<bind>0.0.0.0:465</bind>

修改tls标签的属性socketTLS=true,修改secret的值为创建证书时的口令密码

     <tls socketTLS="true" startTLS="false">

       <!-- To create a new keystore execute:

        keytool -genkey -alias james -keyalg RSA -keystore /path/to/james/conf/keystore

         -->

       <keystore>file://conf/keystore</keystore>

       <secret>123456</secret>

       <provider>org.bouncycastle.jce.provider.BouncyCastleProvider</provider>

       <!-- The algorithm is optional and only needs to be specified when using something other

        than the Sun JCE provider - You could use IbmX509 with IBM Java runtime. -->

       <algorithm>SunX509</algorithm>

     </tls>

4、重启james-mail

进入james-server-app-3.5.0/bin目录中,windows执行run.bat,linux执行sh run.sh

注意:windows中先打开dos窗口,然后再执行run.bat,直接在界面双击run.bat文件执行,会启动失败

5、修改foxmail中的配置,将账户的服务器配置为465,并且点击应用

  6、进行邮件发送和接收进行验证,此处不再赘述,与前面未开启ssl时的操作一致

使用curl命令发送邮件

1、按照如下格式,创建文件 /root/email.txt

From: 发件人名称 <发件人邮箱地址>

To: 收件人名称 <收件人邮箱地址>

Subject: 邮件标题

// 注意空一行

邮件内容.

样例如下:

From: steven <steven@st.com>

To: russell <russell@st.com>

Subject: an st.com example email

测试邮件内容,steven ==> russell.

2、执行curl命令

注意:

  • 协议为:smtps
  • 发送邮件内容为步骤1创建的文件
  • --user中指定的是发件人邮箱地址和密码,用冒号分隔

curl -ikv --url 'smtps://192.168.133.135:465' --mail-from 'steven@st.com' --mail-rcpt 'russell@st.com' --upload-file /root/email.txt --user 'steven@st.com:123456'

 

3、查看发送的邮件

 

Logo

更多推荐