Linux下Busybox 内嵌的sendmail是用于发送邮件的命令,但某些busybox版本不支持“mail”命令,因此,要想发送邮件,需要这样做:
首先,要确保你的发件人邮箱已开启smtp服务。
随后,新建一个文件,文件名设为email,内容添加如下:
From:xxx@xxx.com //发件人邮箱地址
To:yyy@yyy.com //收件人邮箱地址
CC:zzz@zzz.com//抄送人地址(如果写上CC,就必须写一个地址,否则会报错。要么就别写CC)
Subject:主题名称//邮件主题,必写
空一行:本行必须为空
邮件内容区域。。。一堆写给收件人的信息。。。
然后,在linux命令行执行如下:
sendmail -f 发件人邮箱地址 -S 发件人邮箱SMTP服务器 -au发件人邮箱用户名 -ap发件人邮箱密码 < email
输入后,命令行不报错说明邮件发送成功,可以去收件人邮箱看看,需要注意的是,收件人邮箱可能要过一段时间才能收到。
对于php中,mail函数的使用,因为其参数是这样:mail(to必须,subject必须,message必须,headers可选但此处可能要填From收件人,parameters可选但此处可能要填用户名密码)
为了方便mail函数发送邮件,实现只写必须的3项参数就能发送,需要在php.ini中进行配置(否则使用mail函数时,是要输入用户名和密码、smtp服务器地址的)
打开php.ini,找到sendmail_path一行,这一行默认配置可能是这样的
sendmail_path = /usr/sbin/sendmail -f -i
需要改成这样:
sendmail_path = /usr/sbin/sendmail -f 发件人地址 -S 发件人邮箱smtp服务器地址-au邮箱用户名 -ap邮箱的明文密码
改完重启web服务器
对于使用,直接使用php调用mail函数,填入邮件信息,执行即可。
mail函数发送成功后,返回一个布尔值,true为发送成功,false为发送失败。