Linux下如何使用sendmail命令发送邮件

Gay*_*i K 13 linux email sendmail

我尝试了以下两个命令。

  1. From: mail_id
    To: Recipient_mail_id
    Hi, this is my message, and I'm sending it to you!
    .
    
    Run Code Online (Sandbox Code Playgroud)
  2. From: mail_id
    To: Recipient_mail_id
    Hi, this is my message, and I'm sending it to you!
    .
    
    Run Code Online (Sandbox Code Playgroud)

但没有收到任何邮件到收件人的邮件地址。

SMTP 服务器安装在另一台服务器上并且已启动并正在运行。那么任何人都可以帮助我了解如何使用 sendmail 或 smtp 命令通过 SMTP 服务器发送测试电子邮件吗?

小智 17

1、使用sendmail命令:

创建一个包含电子邮件内容的文件:

$ cat /tem/email.txt
Run Code Online (Sandbox Code Playgroud)
Subject: Terminal Email Send
Email Content line 1
Email Content line 2
Run Code Online (Sandbox Code Playgroud)

现在使用以下命令发送电子邮件:

$ sendmail user@example.com < /tem/email.txt
Run Code Online (Sandbox Code Playgroud)

2.使用mail命令:

$ cat /tem/email.txt
Run Code Online (Sandbox Code Playgroud)

此外,您还可以使用此命令发送附件。用于-a mailx 和-Amailutils。

Subject: Terminal Email Send
Email Content line 1
Email Content line 2
Run Code Online (Sandbox Code Playgroud)

此外,我们可以添加逗号分隔的电子邮件,将电子邮件一起发送给多个收件人。

$ sendmail user@example.com < /tem/email.txt
Run Code Online (Sandbox Code Playgroud)

3、使用mutt命令:

$ mail -s "Test Subject" user@example.com < /dev/null
Run Code Online (Sandbox Code Playgroud)

发送包含附件的电子邮件

$ mail -a /opt/file.sql -s "Backup File" user@example.com < /dev/null
Run Code Online (Sandbox Code Playgroud)


AnF*_*nFi 7

sendmail需要“原始”格式的电子邮件。通常最好使用更高级别的命令(例如mail),除非电子邮件非常简单。
\n“sendmail Look alike”命令也由 MTA/SMTP 服务器 (postfix/exim/\xe2\x80\xa6) 和 msmtp 等程序提供。基本的 sendmail 命令行选项是事实标准,因此它可能是发送简单电子邮件的不错选择。

\n

您可以尝试以下 shell 脚本

\n
#!/bin/sh\n\n# sendmail command line optons:\n# -i - do not treat lines starting with dot specially\n# -t - read recipients lists from message headers: TO,CC,BCC\n# -v - use verbose mode (describe what is happening) \n#\n# The empty line separates mail headers from mail body\n\nFROM='john.doe@examle.net'\nTO='jane.doe@example.com' \n/usr/sbin/sendmail -i -t << MESSAGE_END\nTo: ${TO}\nFrom: ${FROM}     \n\nHi, this is my message, \nand I'm sending it to you! \nMESSAGE_END\n
Run Code Online (Sandbox Code Playgroud)\n

警告\n发送电子邮件正文中包含非 US-ASCII 字符的文本电子邮件需要额外的标头 (MIME)。电子邮件标头中的非 US-ASCII 字符需要特殊编码。

\n