Heim >Backend-Entwicklung >PHP-Tutorial >Apache邮件发送配置

Apache邮件发送配置

WBOY
WBOYOriginal
2016-06-23 13:52:151531Durchsuche

我想通过php发送邮件,下载了apache-james-2.3.2.tar,解压后点击run.bat秒退是什么情况?如果哪位大神有关于邮件服务器配置更好的方法请指教,先谢过咯


回复讨论(解决方案)

http://wenku.baidu.com/link?url=AKMpZxzuM0TRtMSqPKwiQeGYop-PNm1-KQKlS0y8AaWJXei2nGpqPDMeatPZOvosWKAPziWbsrs50LctmnXuueIoEQkzgnM0ghFg8OHvi7e

那个我看过了,但James\bin文件夹下根本没有install文件,,不过还是谢谢你


james安装与配置

一、安装:
1.环境要求:
已安装Java平台,版本为j2sdk1.4.2,环境变量JAVA_HOME设为C:\j2sdk1.4.2;
2.下载与运行:
从Apache网站上下载得到一个压缩的文件james-2.1-bin.zip,大小为4.44M,将此包解压到C:\James\james-2.1下。
运行分为两种方式:前台直接运行、作为后台服务运行;
1>前台直接运行:
在C:\James\james-2.1\bin下运行run.bat
这是会出现:
Using PHOENIX_HOME:  C:\James\james-2.1
Using PHOENIX_TMPDIR: C:\James\james-2.1\temp
Using JAVA_HOME:      C:\j2sdk1.4.2
Phoenix 4.0.1
James 2.1

Remote Manager Service started plain:4555

POP3 Service started plain:110

SMTP Service started plain:25

NNTP Service Disabled

Fetch POP Disabled
这是就表示James邮件服务以开启,不过Window下不能关闭控制台窗口,否者邮件服务会停止。如要克服此缺点必须使James邮件服务作为作为后台服务运行。
停止前台运行按Ctrl+C,会出现:

JVM exiting abnormally. Shutting down Phoenix.

终止批处理操作吗(Y/N)?

2>后台服务运行:

将C:\James\james-2.1\conf目录下的wrapper.conf拷贝到C:\James\james-2.1\bin即包含wrapper.exe的目录下,运行:

wrapper.exe    -i    C:\James\james-2.1\bin\wrapper.conf 

然后在控制面板中开启服务或重启即可。
卸载后台服务:

到C:\James\james-2.1\bin即包含wrapper.exe的目录下,运行:

wrapper.exe    -r    C:\James\james-2.1\bin\wrapper.conf

3. 

二、配置:

1>服务器端配置(邮件服务器的名字假设叫EmailServer,服务器管理员名Admin)

首先停止已开启的James邮件服务,然后打开文件C:\James\james-2.1\apps\james\SAR-INF\config.xml。

在config.xml文件中,找到Postmaster@localhost,把此项改为Admin@EmailServer,同时,找到位于











   localhost 

  


的localhost,把此项改为EmailServer。这样就可以让其它机器也能访问邮件系统。
DNS配置:找到同上文件中段中的如下程序段:





  127.0.0.1

  


  false

  


将127.0.0.1的位置填入DNS服务器的IP地址;
修改管理员密码:

找到同上文件中的段,如下程序段





  

  

将默认用户名root与密码root修改为需要的值
修改telnet管理程序登录端口 :(默认为4555)

找到同上文件中的段下的port如下程序段



  4555



-           注释掉的,打开即可;记住把


        


 注释掉;

通过修改,我们就把用户信息的存储介质从file改成了db,是指明了在db中的数据表结构及相关数据库信息。
第四步:仍然是config.xml,找到项,默认内容为空,把此项内容修改为:


                          org.gjt.mm.mysql.Driver
                            jdbc:mysql://127.0.0.1/mail
                            root
                            
                            20



或打开文件下面实例的 注释

是指MySQL的JDBC驱动,注意这个默认的是有问题的,要改成MySQL的驱动程序中Driver.class的路径,即:

                  com.mysql.jdbc.Driver
指数据库的访问路径,IP后的mail即MySQL中新建数据库名,接下来是用户名、密码及最大连接数。
再次启动时,james将在mail数据库中自动创建有关用户的表格。
至此,数据库配置完成,启动James,若正常无误,请通过telnet添加一个新用户,比如adduser holen 123456,然后检查MySQL中的mail数据库,下面将有一个表users,这是James根据file://conf/sqlResources.xml的内容创建的。

通过以上配置,James的用户信息就可以保存在数据库中了。

注:修改以前的账户会丢失!

 

 

 

一、FAQ

1、 在启动james时,提示POP3或SMTP不能使用?
请检查一下,看“管理工具?>服务”里面,是不是启动了别的邮件服务器,已将110或25端口占用了。

      实例:

james前台直接运行时出错:

ERROR  2005-08-25 08:58:38.642 [Phoenix.] (): Component named "smtpserver" failed to pass through the Initialization stage. (Reason: java.net.BindException: Address already in use: JVM_Bind).

ERROR  2005-08-25 08:58:38.652 [Phoenix.] (): There was an error running phase "startup" for Block named "smtpserver". (Reason: Component named "smtpserver" failed to pass through the Initialization stage. (Reason: java.net.BindException: Address already in use: JVM_Bind).).

org.apache.excalibur.containerkit.lifecycle.LifecycleException: Component named "smtpserver" failed to pass through the Initialization stage. (Reason: java.net.BindException: Address already in use: JVM_Bind).

原因:

  james默认设置不允许在同一台机器上跑两个邮件服务器进程。必须关掉另一个!

 

检测方法:

console界面下:

  d:> telnet 主机名 25(或110)

如果可以登录,出现

  220 主机名 Microsoft ESMTP MAIL Service, Version: 6.0.2600.1106 ready at  Thu,

25 Aug 2005 14:14:36 +0800

则说明此机器上已有一台邮件服务器在运行。

 

解决:

检查Windows上运行服务:

跨网传输电子邮件的服务Simple Mail Transfer Protocol (SMTP),是否启动

如启动关闭之!

2、 JAVA_HOME找不到?

请在run.bat中指定JAVA_HOME,若还不行,请在“我的电脑?>系统?>高级?>环境变量”中添加一项JAVA_HOME。

3、 服务器启动正常,但客户端不能收发邮件?

请检查客户端配置是否正常,参照前面所讲,另外,请检查james下的config.xml,是否把localhost改成了机器名。

4、修改为数据库储存后,james启动出错:

一般是数据库驱动有错。检查一下


                          org.gjt.mm.mysql.Driver
                            jdbc:mysql://127.0.0.1/mail
                            root
                            
                            20


org.gjt.mm.mysql.Driver是否对

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP错误报告设置不生效?Nächster Artikel:JAVAEE集成DISCUZ