mail 和 mailx 有什么区别?
我正在尝试解决一个问题,我可以使用此echo $MESSAGE | mail -s "$SUBJECT" -r $FROM $RECIPIENTS命令从服务器 A 发送邮件,但从服务器 B 执行相同的命令会引发此错误(两台服务器都是 RHEL)
mail: invalid option -- r
Usage: mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] to-addr ...
[-- sendmail-options ...]
mail [-iInNv] -f [name]
mail [-iInNv] [-u user]
Run Code Online (Sandbox Code Playgroud)
现在......通过邮件联机帮助页了解发生man mail了什么,给了我这个:
在服务器 A
MAILX(1) User Commands MAILX(1)
NAME
mailx - send and receive Internet mail
SYNOPSIS
mailx [-BDdEFintv~] [-s subject] [-a attachment ] [-c cc-addr] [-b bcc-addr] [-r from-addr] [-h …Run Code Online (Sandbox Code Playgroud) 我ssmtp用于发送电子邮件(设置如下)
现在,当我运行cron命令或at命令时,邮件被发送到
michel@mypi
Run Code Online (Sandbox Code Playgroud)
这是 username @ machinename
现在当然这不是一个有效的电子邮件地址,所以我在我的 gmail 中收到错误消息: can't send email to michel@mypi
我应该如何以及在哪里说给用户“michel”的电子邮件应该转到特定的电子邮件地址?
ssmtp 的设置:
#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000 # Make this empty to disable rewriting.
root=MYNAME@gmail.com
# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=smtp.gmail.com:465
# Where will the …Run Code Online (Sandbox Code Playgroud) 我正在尝试基于所有 From、Subject 和正文中的字符串创建 Procmail 规则:
:0 B:
* ^From:.*root@example.com.*
* ^Subject:.*fixed string in the subject line.*
* .*fixed string in the body.*
/dev/null
Run Code Online (Sandbox Code Playgroud)
我正在尝试删除一个长期存在问题的邮件源,其唯一安全的选择是检查所有这三个。
我在这里做错了什么?想必这跟B国旗有关系吧?
Sendmail 通过发送到智能主机来工作,但无法找到本地用户。
# sendmail -bv LocalUser@myhost.net
LocalUser@myhost.net... User unknown
# grep LocalUser /var/log/maillog
Sep 8 03:48:30 myhost sendmail[6678]: r887mUs3006678: LocalUser@myhost.net... User unknown
Run Code Online (Sandbox Code Playgroud)
但 ...
# ls /home|grep LocalUser
/LocalUser
Run Code Online (Sandbox Code Playgroud)
和 ...
# grep LocalUser /etc/passwd
LocalUser:x:1001:1001:LocalUser:/home/LocalUser:/bin/bash
Run Code Online (Sandbox Code Playgroud)
如何配置 sendmail 以查找本地用户?我应该如何诊断?
以下是我的 procmail 配方,效果很好......
:0bf
* ^Subject.*register$
| /usr/bin/php -f /root/data/scripts/register.php
Run Code Online (Sandbox Code Playgroud)
但是,上面的配方/脚本最多需要 3 个小时才能完成(需要处理和转换大量数据),然后 procmail 才会继续进一步处理。
我&在文件路径的末尾添加了一个,希望它能在后台运行,但脚本不会执行:
:0bf
* ^Subject.*register$
| /usr/bin/php -f /root/data/scripts/register.php &
Run Code Online (Sandbox Code Playgroud) 我在 Debian 上运行时无法安装 gcc-6 sudo apt-get install gcc-6。它说E: Unable to locate package gcc-6。
gcc将通过的最低版本apt-get是 7。是否需要设置一个特殊的存储库才能获得较旧的gcc版本?我试图从源代码构建 gcc-6 但很挣扎,所以如果这是获得 gcc-6 工作副本的唯一方法,如果你能引导我完成这些步骤或向我展示一个可靠的资源,我将不胜感激这个。
供参考,我的系统信息如下:
user@debian:~$ uname -a
Linux debian 4.19.0-8-amd64 #1 SMP Debian 4.19.98-1 (2020-01-26) x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
我正在寻找旧gcc版本的原因是我正在尝试编译旧版本的 Linux (3.19) 但我不断收到新gcc版本 (7 & 8)的错误,指出:
include/linux/compiler-gcc.h:106:1: fatal error: linux/compiler-gcc7.h: No such file or directory
#include gcc_header(__GNUC__)
^~~~
Run Code Online (Sandbox Code Playgroud)
预先感谢您的任何帮助!