ubuntu 安装sendmail,ubuntu终端安装chrome浏览器
其实ubuntu 安装sendmail的问题并不复杂,但是又很多的朋友都不太了解ubuntu终端安装chrome浏览器,因此呢,今天小编就来为大家分享ubuntu 安装sendmail的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
ubuntu下怎么安装sendmail
在Linux下通过PHP的ubuntu sendmail函数可以很方便的发送邮件,可是在安装ubuntu sendmail后却总接收不到邮件,搞了一晚上也还是糊涂着,虽然最后能成功接收了,不过还是晕。
ubuntu sendmail先要安装两个包
sudo apt-get install sendmail
sudo apt-get install sendmail-cf这两个是必需的
还有几个可选的
squirrelmail提供webmail
spamassassin提供邮件过滤
mailman提供邮件列表支持
dovecot提供IMAP和POP接收邮件服务器守护进程
ubuntu sendmail安装好后就可以配置文件,发送邮件了
ubuntu sendmail配置还没看透,先看如何发吧!
指令mail yourqq@qq.com yourqq是qq号码,这里我们用qq邮箱测试一下
输入后会提示 Subject:这是邮件的主题,输入后然后enter会跳转到下一行,这时我们就可以输入邮件的内容了,当你像结束输入的时候换行 Ctrl+D结束输入,会出现Cc:提示,这是抄送提示,你可以在这里输入替邮箱地址,将该邮件转发。然后Enter,邮件就发出去了,我们可以登录QQ邮箱看看,一般这样的邮件都会被识别为垃圾邮件,所以你可以到垃圾箱看看
当然了我们可以写php程序来发送文件
我们先配置一下/etc/php5/apache2/php.ini这个文件,貌似我的不用配也能发出去,待会深入研究
找到;sendmail_path这句,去掉注释的;然后添加sendmail启动目录
sendmail_path=/usr/sbin/sendmail-t-i
<?php
$now= date("Y-m-d h:i:s");
$from_name="yourname";
$from_email="yourqq@qq.com";
$headers="From:$from_name<$from_email>";
$body="嗨,这是一封测试信件来自".$from_name."<".$from_email.">";
$subject="[".$now."]测试信件发送";
if(mail($from_email,$subject,$body,$headers)){
echo"success!";
} else{
echo"fail";
}
?>
(望楼主采纳哦)
Ubuntu中启用php的mail()函数并解决发送邮件速度慢问题
启用PHP中的mail()函数以在Ubuntu服务器上发送邮件,首先需确保安装了sendmail组件。在Ubuntu环境中,执行
sudo apt-get install sendmail
命令即可完成sendmail的安装。接着,启动sendmail服务,通过执行
sudo service sendmail start
即可激活服务。此时,即可在PHP脚本中使用mail()函数发送邮件。
若发现使用mail()函数发送邮件速度较慢,问题可能出在DNS解析速度上,这通常与服务器的hostname设置相关。确保hostname配置正确且可解析。在Ubuntu系统中,编辑/etc/hosts文件以添加:
sudo vim/etc/hosts
在文件中找到127.0.0.1的行,后添加localhost.localdomain和你的主机别名,确保它们对应可解析的域名。保存并退出编辑后,重启sendmail服务:
sudo service sendmail restart
以上步骤能有效解决在Ubuntu中使用PHP发送邮件速度慢的问题。
ubuntu中配置sendmail,在线等
sendmail.cf是Sendmail的配置文件,它全权决定了Sendmail的属性。这个文件定义邮件服务器为哪个域工作。其中的内容为特定宏,大多数人对它都抱有恐惧心理,因为文件中的宏代码实在是太多。sendmail.cf通常是由一个以mc结尾的文件编译产生。如Redhat自带一个redhat.mc,用户可以自己修改其中的一些设置,使之适合自己。笔者的sendmail.mc文件内容如下:
divert(-1)
dnl This is the macro config file used to generate the/etc/sendmail.cf
dnl file. If you modify thei file you will have to regenerate the
dnl/etc/sendmail.cf by running this macro config through the m4
dnl preprocessor:
dnl m4/etc/sendmail.mc>/etc/sendmail.cf
dnl You will need to have the Sendmail-cf package installed for this to work.
include(`/usr/lib/Sendmail-cf/m4/cf.m4')
define(`confDEF_USER_ID',``8:12'')
OSTYPE(`Linux')
undefine(`UUCP_RELAY')
undefine(`BITNET_RELAY')
define(`confAUTO_REBUILD')
define(`confTO_CONNECT', `1m')
define(`confTRY_NULL_MX_LIST',true)
define(`confDONT_PROBE_INTERFACES',true)
define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')
FEATURE(`smrsh',`/usr/sbin/smrsh')
FEATURE(`mailertable',`hash-o/etc/mail/mailertable')
FEATURE(`virtusertable',`hash-o/etc/mail/virtusertable')
FEATURE(redirect)
FEATURE(always_add_domain)
FEATURE(use_cw_file)
FEATURE(local_procmail)
MAILER(smtp)
MAILER(procmail)
FEATURE(`access_db')
FEATURE(`blacklist_recipients')
dnl We strongly recommend to comment this one out if you want to protect
dnl yourself from spam. However, the laptop and users on computers that do
dnl not hav 24x7 DNS do need this.
FEATURE(`accept_unresolvable_domains')
dnl FEATURE(`relay_based_on_MX')
编译sendmail.mc以产生需要的sendmail.cf文件:# m4/etc/sendmail.mc>/etc/mail/sendmail.cf。
生成sendmail.cf以后,编辑sendmail.cf。在文件中,查找DS,在其后加入邮件服务器名、域名,这样可以保证当你以username@mail.domain.com或username@domain.com发信时,用户都可以收到,如下所示:
# Alias for this host
Cw mail.domain.com domain.com
然后,就可以启动Sendmail了:#/usr/sbin/Sendmail-bd-q20m。
Sendmail 8.9.x以后的版本,在缺省情况下,都默认不对未验证的计算机进行转发(Relay),所以如果要为本机以外的其他计算机进行邮件转发,这时,应该在相应的配置文件中明确告诉Sendmail要对哪几个主机进行转发。如果不考虑验证,对任何主机都进行转发的话,可以在sedmail.mc文件中加入一行:FEATURE(promiscuous_relay)。
不过,如果你的计算机是放在公网上的话,建议你不要这样做,因为这样做了以后,任何人都可以使用你的计算机进行转发邮件了,特别是一些别有用心的人或一些兜售客(spammer,垃圾邮件制造者)会利用你的邮件服务器的转发功能乱发大量的垃圾邮件。
使用说明
通常情况下,Sendmail不会为邮件服务Relay信息,这样可以防止一些有恶意的人利用别人的邮件服务器乱发邮件。缺省情况下,Sendmail关闭了Relay功能。如果你要为别的服务器Relay邮件,可以进行如下设置——在access文件中加入要为其Relay信件的机器,格式为:
hostname RELAY
ipaddress RELAY
如果要为一个域内多个机器Relay信件,则可以在/etc/mail/access文件中直接加入其子网IP或域名,如下所示:
access文件内容:
domainname.com RELAY(允许为域domainname的所有计算机relay邮件)
localhost RELAY
192.168.1.0 RELAY(为192.168.1.0此网内所有机器relay邮件)
此文件惟一决定了哪些机器、哪个域可以使用邮件服务器转发邮件。完成后需要进行编译:#makemap hash access.db< access。
其他配置的文件关系不是很大,可以暂时使用缺省安装的内容。至此,Sendmail应该可以正常工作了。
接下来是测试邮件服务器的邮件发送功能,注意:测试时,不要只对本地用户进行测试,如:你的域为abc.com,测试时,不要只在邮件服务器上测试user1@abc.com用户。因为,此时user1是本地用户,所以邮件服务器可以对其进行Relay。你应该从局域网上的另一台机器使用Outlook等邮件客户端对服务器进行测试。