php使用linux 发送邮件

第一种方法:
使用 echo 发送邮件。

使用 echo 命令发送电子邮件,而无需进入邮件命令的交互模式。
编写电子邮件正文并将 echo 命令输出通过管道传输到 mail 命令。
语法为: echo "[email body]" | mail -s "[subject]" [recipient]

例:

$content = "哈哈哈哈哈哈";

$output= system('hostname | echo '.$content.' | mail -A ini/samples.txt -s "主题" -aFrom:Sender_name\<sent@demo.com\> xxxxx@yahoo.co.jp',$retval);

  • -s可选:邮件标题
  • -A可选:邮件的附件
  • -a可选:邮件header部分,包含发件人名,发件邮箱
  • -r可选:指定发件人电子邮件地址
  • -c可选:指定要由抄送发送的电子邮件地址
    通过抄送发送给多人时 → 一次指定一个项目作为选项-c
  • -b可选:指定要通过密件抄送发送的电子邮件地址
    通过密件抄送发送给多人时 → 一次指定一个项目作为选项-b
  • mail 命令的最后一个参数:指定目标电子邮件地址
    当通过发送给多个人时 收件人→ 指定以半角空格分隔的电子邮件地址

知道上面几个参数基本就够用了。

其中echo '.$content.' 是邮件的正文。
echo 命令获取字符串,管道 (|) 将字符串传递给 mail 命令。

第二种方法:
从文件发送电子邮件

mail 命令允许用户从现有文件提供电子邮件正文。

此选项可节省时间,并有助于发送大型消息,而无需在命令行中写入它们。

语法为: mail -s "[subject]" [recipient] < [file_path]

$output= system('hostname |  mail -s "Subject1" xxxx@yahoo.co.jp < ini/resume_samples.txt',$retval);

该命令从指定文件中获取输入,并将其作为电子邮件正文发送。
从 shell 脚本或其他程序(例如用 Perl 或 PHP 编写的程序)调用 mail 命令时,提供文件的输入很有用。

第三种方法:
将邮件发送到多个收件人

若要将邮件发送给多个收件人,请在逗号分隔的列表中指定收件人列表。
语法为: mail -s "[subject]" [recipient1], [recipient2] <<< "[mail body]"

说明:

如果标题乱码的话,需要转码:

$senderName = base64_encode($senderName);
senderName = "=?UTF-8?B?".$senderName."?="; 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值