• Linux james邮件服务器的搭建


                 Linux james邮件服务器安装

    由于最近需要搭建邮件服务器,考虑到Linux服务器比较稳定所以系统选择了redhat5.4 64位的,邮件服务端用的是ApacheJames

    前提工作:

    1.      由于Apache James 邮件服务需要用到1024以下端口,最好使用root用户登录进行部署

    2.      需要JDK1.5以上版本,JDK的安装在这里我就不细说了,上一篇有JDK的安装,James的时候请确保JDK环境变量已经设置好

    3.      James 启动时,其SMTP 服务默认在 25 端口启动,POP3 服务默认在 110 端口启动, NNTP 服务默认在 119 端口启动, 请确保这些端口未被占用。Linux下查看端口被占用的命令是 netstat �Ctulnp | grep 25 ,如果端口被占用了,如果25端口被占用了一般就是sendmail占用的,可以使用 service sendmail stop 和 service sendmail start 停止占用和启动端口。或者使用lsof -i:25

    查看端口使用情况,这种情况就说明25端口已经被占用了,

    一般RedHat的系统安装时都会默认安装了sendmail邮件服务,因此在部署Apache James时,需要把sendmail关闭。可以通过以下方法来关闭sendmail,以防止系统重启时又自动启动sendmail服务。

    1.     用chkconfig --list sendmail命令查看sendmail的情况:

       [root@localhost~]# chkconfig --list sendmail

    sendmail        0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭

    2.     通过chkconfig sendmail off命令来关闭sendmail的启动:

       [root@localhost~]# chkconfig sendmail off

    3.     这时再用chkconfig --list sendmail命令可以查看到sendmail的所有启动级别都已经关闭了:

       [root@localhost~]# chkconfig --list sendmail

    sendmail        0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:关闭  6:关闭

    这样,即使重新启动Linux系统,sendmail服务也不会自动启动了。

    前期工作做完了,接下来就是部署Apache James了。

    4.     下载apache-james-2.3.2.tar.gz安装包,我放在/opt/webservice 目录下

    tar �Czxvf apache-james-2.3.2.tar.gz解压安装包

    5.     进入james-2.3.2/bin目录执行run.sh 生成james的配置文件config.xml

    首先需要执行 chmod +x run.sh phoenix.sh给这两个文件加上可执行权限,

    6.执行 sh run.sh

       UsingPHOENIX_HOME:   /opt/webservice/james-2.3.2

    Using PHOENIX_TMPDIR: /opt/webservice/james-2.3.2/temp

    Using JAVA_HOME:     /usr/java/jdk1.7.0_60

    Running Phoenix:

    Phoenix 4.2

    James Mail Server 2.3.2

    Remote Manager Service started plain:4555

    POP3 Service started plain:110

    SMTP Service started plain:25

    NNTP Service started plain:119

    FetchMail Disabled

    出现如上信息证明james启动成功

    6.     按Ctrl + C 退出,编辑config.xml文件,生成的config.xml文件放在

    .. /james-2.3.2/apps/james/SAR-INF 目录下,关于config.xml的修改网上有很多资料,在这里我只说我的那部分好吧,

    A). 找到 设成

    autodetect="false" autodetectIP="false"

    autodetct设为true会自动侦测你的主机名,设成false会用你指定的server name

    autodetectIP设为true会为你的servername加上ip

       B). 设置servername 将默认的为localhost改成你的server名字如king.cn:

           king.cn

       然后修改Linux的hosts主机设置文件:

       [root@localhostSAR-INF]# vi /etc/hosts

       在打开的文件添加一行,然后保存:

       192.168.5.104lefeng.com localhost

       注意:第一个为IP地址  第二个为主机域名  第三个为主机名称

       提示:名字后面应该要加上.com或者.cn这样163等邮件服务器才不会拒绝的

    C)注释掉

      

                relay-denied

               550 - Requested action not taken: relayingdenied

            

    D)配置DNS Server,先通过netstat命令查看dns配置

       [root@localhost SAR-INF]# netstat -rn

    Kernel IP routing table

    Destination    Gateway         Genmask         Flags  MSS Window  irtt Iface

    192.168.5.0    0.0.0.0         255.255.255.0   U        0 0          0 eth0

    169.254.0.0    0.0.0.0         255.255.0.0     U        0 0          0 eth0

    0.0.0.0         192.168.5.1     0.0.0.0         UG        0 0          0 eth0

    找到,在里最前面添加一行: 192.168.5.0 

    同时设置autodiscover为false

         

            

            

            

             192.168.5.0

             

         

         

         

         false

         false

         

         50000

      

    E)修改James数据库连接字符串

      

            oracle.jdbc.driver.OracleDriver

            jdbc:oracle:thin:@192.168.1.17:1521:hello

            hello

            kitty

            select 1 from dual

            true

            true

            50

         

    以上用的是oracle数据库,如果是其他数据库,则需要修改为对应的数据库连接驱动,以及数据库用户信息。

    注意:一定要记得配置,该参数的意思是,在使用连接池的连接之前,是否需要验证该连接是否有效。之前,我没有设置该参数,结果总是出现收不到邮件的问题。

    4)优化一下James内存,在../james-2.3.2/bin/phoenix.sh加入:

    # Set Heap Size 2007-0818,fix OutOfMemory bug while transportingbig mail

    PHOENIX_JVM_OPTS="$PHOENIX_JVM_OPTS -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M"

    修改../james-2.3.2/conf/wrapper.conf的jvm配置,设置初始内存128M,最大内存512M

                      # Initial Java Heap Size (in MB)

                      #wrapper.java.initmemory=16

                      wrapper.java.initmemory=128

            

                      # Maximum Java Heap Size (in MB)

                      #wrapper.java.maxmemory=64

                      wrapper.java.maxmemory=512

    5)复制数据库驱动到../james-2.3.2/lib目录下,我用的是oracle数据库,驱动包为:ojdbc14.jar

    6)重启Apache James服务。

       登录:telnet localhost 4555

       第一次登录用户名和密码都是root

    7)最后,进入邮件系统全局管理,将系统的域名改为上述的server name。

  • 相关阅读:
    关于Greenplum Platform Extension Framework(PXF)
    将目录下的所有pdf文件都转换为对应名字的png图片
    element+vue table表格全部数据和已选数据联动
    1859. 将句子排序
    CentOS7安装redis5.0并且搭建集群
    Git Flow的简单使用
    【无标题】
    Java中的IO流详解(二)
    四、Web开发
    Spring Security 中的 RememberMe 登录,so easy!
  • 原文地址:https://blog.csdn.net/weixin_67271870/article/details/127438643