我在root
用户的邮件帐户中收到了大量邮件。这似乎主要是来自cron
脚本之类的报告和错误。我正在努力解决这些问题,甚至可能将它们通过管道传输到某种“仪表板” - 但在那之前我如何才能将这些消息发送到我的个人电子邮件帐户?
在我的笔记本电脑上,我设置了一个执行每周工作的 cron。如果有什么要报告的,我想收到一封电子邮件。现在我使用 KMail 作为 MUA,它能够从 Maildir 目录中读取邮件~/.local/share/local-mail
。因此,我希望将本地邮件传送到该文件夹(具有 Maildir 结构)。
我希望已经存在一个简单的程序,它有一个sendmail
接口(这样echo "$REPORT" | mail -s "$SUBJECT" "$ME"
可以使用它)。安装 exim 或将邮件转发到我的远程邮件服务器被认为是矫枉过正。
问题从服务器转发所有邮件的最简单方法?似乎针对不适合我需要的远程转发(我需要本地交付)。这个旧的 Gentoo 线程最终用 Perl 制作了一个旧脚本。肯定存在一个深思熟虑的、极其简单的程序吗?
有什么建议吗?我正在使用 Arch Linux。
我是一名研究生,也是一个相对的 Linux 新手。这个问题是我之前问题的衍生。我的机构有一个 Ubuntu Linux 集群。我只是一个用户;我没有系统管理员权限,当然也不具备成为系统管理员的专业知识!
我的问题是,如何找到我的本地邮件假脱机?据我所知,我没有使用邮件传输代理。 对我上一个问题的回答建议我查找文件/var/spool/mail/$USER
,但不幸的是,我没有看到与我的用户名对应的文件。在 中/var/spool/mail/
,使用ls
我只看到两个文件:nobody
和www-data
,它们都是无扩展名的文件。
对于我可以在哪里查找我的邮件池(据我所知,这可能是本地的,因为我没有配置邮件传输代理),您还有其他想法吗?
对于#myhostname
,我应该取消注释并输入我的主机名,即我给 VPS 的名称,对吗?或者它只是去myhostname = mydomain.net
,换句话说,除了取消注释外,不要编辑短语“myhostname”?
那 #myhostname = virtual.domian.tld
是为了放置一个子域吗?
我应该为包括和不包括在内的所有人添加清单www
吗?
我使用 Exim 作为 MTA 来发送电子邮件。如果电子邮件进入收件人的垃圾邮件文件夹,是否可以收到通知?
我一直在使用 sendmail 使用内部可用的邮件服务器发送邮件。但目前出于安全原因,端口 25 被阻止。
我想知道是否有办法在 sendmail 实用程序中指定端口号。我正在尝试使用安全的 SMTP-MSA 端口 587 作为替代方案,假设我可以打开该端口。
我在 sendmail 的手册页中找不到任何内容。是否有任何替代实用程序可以做到这一点?
以后缀为例。它是一个 MTA,但它也是一个 SMTP 服务器吗?所有 MTA 都是 SMTP 服务器吗?有吗?邮件运输代理和邮件传输代理有区别吗?
MTA 是否可以配置为 SMTP 服务器,反之亦然?MTA 和 SMTP 服务器有什么区别?
从维基百科文章电子邮件和电子邮件代理中,我了解到存在称为消息提交代理(又名邮件提交代理)的软件包。
关于消息提交代理的维基百科文章没有提供任何实现 MSA 功能的软件的具体示例。它指出“MTA [可以]执行 MSA 的功能”,但还指出:
有...专门设计为 MSA 的程序,没有完整的 MTA 功能。
如果能提供可用于 Unix 或 POSIX 操作系统的此类软件的示例,尤其是为一个或多个 GNU/Linux 发行版打包的示例,我将不胜感激。所需要的只是该软件的名称,以及一些证明它确实是 MSA 并且可用于 Unix/POSIX 的证据。如果您愿意,请随意添加少量附加说明。
如果发布了多个答案,我将对所有准确且切题的答案进行投票,并接受这些答案中最全面的答案作为正确答案。
注意:我并不是在寻求建议、认可或意见,所以我相信这个问题是切中主题的。
我已经使用以下内容设置了 MSMTP,但是如果我从 CLI 发送电子邮件,它要么被阻止,要么最终出现在我的垃圾邮件中,因为它没有发件人/发件人或顶部的任何内容。但是来自 CRON 的电子邮件格式正确。
sudo apt-get update
sudo apt-get install -y msmtp msmtp-mta
# MSMTPRC Configuration
cat << EOL >/etc/msmtprc
# Set default values for all following accounts.
defaults
auth on
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile /var/log/msmtp.log
aliases /etc/aliases
# Comcast
account Comcast
host smtp.hmc1.comcast.net
port 587
from USER@COMCAST
user USER@COMCAST
password PWD
account default : Comcast
EOL
# Set Strong Permissions due to Plain Text PWD
sudo chmod 600 /etc/msmtprc
# Configure User Alias
cat << EOL …
Run Code Online (Sandbox Code Playgroud) 我饶有兴趣地从sendmail 指南中读到可以禁用 TLS。我尝试通过在中添加以下行来对内部邮件执行此操作/etc/mail/access
:
Try_TLS:my.server NO
Try_TLS:localhost6.localdomain6 NO
Try_TLS:localhost.localdomain NO
Try_TLS:localhost NO
Try_TLS:127.0.0.1 NO
Run Code Online (Sandbox Code Playgroud)
但是,它似乎不起作用,我仍然看到以下内容:
Received: from my.server (localhost6.localdomain6 [127.0.0.1])
by my.server (8.14.8/8.14.8) with ESMTP id s6H2Wanf004005
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO)
for <user@my.server>; Tue, 15 Jul 2014 10:32:36 +0000
Received: (from user@localhost)
by my.server (8.14.8/8.14.8/client) id s6H2WZfQ004004
for user; Tue, 15 Jul 2014 10:32:35 +0000
Run Code Online (Sandbox Code Playgroud)
任何想法?
我在家里的电脑上工作我想给我发一封电子邮件,我试过:
uuencode all.sh all.sh | mail mymail@gmail.com
Run Code Online (Sandbox Code Playgroud)
但问题是我的电子邮件没有收到任何内容,我只是收到以下错误:
mail: cannot send message: Process exited with a non-zero status
Run Code Online (Sandbox Code Playgroud)
事实是,我在工作中使用了相同的命令并且它运行良好,我想感谢任何解决此问题的建议。我不确定在我的个人计算机中使用该命令行之前是否必须设置任何文件。我也尝试安装 mutt:
mutt myemail@gmail.com < all.sh
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
sendmail: Cannot open mail:25
Error sending message, child exited 1 ().
Could not send the message.
Run Code Online (Sandbox Code Playgroud) 我查看了 MTA、MUA、MDA 的定义,例如https://ccm.net/contents/116-how-email-works-mta-mda-mua和https://en.wikipedia.org/ wiki/Email_agent_(基础设施)
在 Lubuntu 中,默认的电子邮件客户端是 Sylpheed,许多也使用 Thunderbird。如果我是对的,Sylpheed 和 Thunderbird 都是 MUA。
在https://unix.stackexchange.com/a/479613/674 中,Stephen 提到 cron 使用 MTA(例如 postfix 或 sendmail)将其作业的输出作为电子邮件发送。
我的问题是:
为什么 cron 使用 MTA 而不是 MUA 来发送电子邮件?如果 cron 可以使用 MUA 发送电子邮件,如何?
为什么我们使用 MUA(Sylpheed 或 Thunderbird)而不是 MTA 来发送电子邮件?如果我们可以使用 MTA 发送电子邮件,如何?
当我们安装 MUA(Sylpheed 或 Thunderbird)时,Sylpheed 或 Thunderbird 是否需要在同一台机器上安装 MTA才能发送电子邮件?
谢谢。
我注册了 2 个域,并设置了 MX 记录并指向同一台服务器。此工具https://mxtoolbox.com/SuperTool.aspx的输出是
10 mail.mydomain.club IP 5 min
10 mail.myotherdomain.com sameIP 5 min
Run Code Online (Sandbox Code Playgroud)
所以这是工作。
我按照本指南使用 dovecot 和 MariaDB 设置 postfix。
每个 example.com 都替换为 myotherdomain.com 并且我的机器的主机名是 mydomain.club(如果我更改它,则会/etc/resolv.conf
重置并开始发送邮件hostname.mydomain.club
,所以我保持原样。)我的问题是电子邮件服务,例如作为gmail,说我发送的电子邮件没有加密。
这是我认为相关的 /etc/postfix/main.cf 文件中的 ssl 条目:
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/pki/tls/certs/myotherdomain_com.crt
smtpd_tls_key_file = /etc/pki/tls/certs/server.key
Run Code Online (Sandbox Code Playgroud)
我myotherdomain_com.crt
从 namecheap获得 PositiveSSL 证书,当我注册 myotherdomain.com 时,server.key
是在我发布时生成的
openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr
Run Code Online (Sandbox Code Playgroud)
当我发送带有mutt -f .
命令的电子邮件时,在/home/vmail/myotherdomain.com/sales/Maildir
发送电子邮件时root@mydomain.club
,gmail 抱怨它没有加密。如果我使用 …