如何从Ubuntu服务器发送电子邮件?

我应该做的是从Ubuntu发送电子邮件。 我找到的最简单的方法是使用Thunderbird并将我的真实电子邮件地址(abc@hotmail.com)链接到Thunderbird帐户。 我可以通过这种方式成功接收电子邮件并下载完整的历史记录。 但是,我无法发送电子邮件。

我想要做的是直接从Ubuntu发送电子邮件,并显示为user1 @ localhost或类似的东西。

这有可能吗? 在阅读了关于此的不同主题后,似乎使用中继地址是唯一的方法。

我也安装了Postfix,与写在那里的方式相同: 如何设置邮件服务器? 当我被要求选择安装类型时,我选择了Internet站点。

我有的选择:

  • 没有配置;
  • 互联网网站;
  • 互联网与smarthost;
  • 司太立方系统;
  • 仅限本地;

当被问到系统邮件名称时,我进入了我拥有的网站:some_website.com。 我仍然没有想出如何发送电子邮件bia postfix,但我认为将再次使用中继服务器。

我正在运行Ubuntu 11.10作为虚拟机。

我希望这个问题有道理。

它并没有完全合理,因为你曾经说过“应该这样做”,好像这是你的工作。 您是否在虚拟机中设置了真实的邮件服务器? 我发现线索意味着您需要虚拟服务器拥有邮件系统,但虚拟服务器不是全时“真正的”SMTP服务器。 (否则你会知道的,我猜得很疯狂。)

考虑到这一点,您需要“Internet with smarthost”选项。 从本质上讲,最重要的原因是全球配置良好的SMTP服务器都使用反垃圾邮件措施; 并且,在这些措施中,拒绝来自已知动态地址池的所有SMTP连接(垃圾邮件发送者喜欢使用)。 因此,您需要使用另一个SMTP服务器来发送邮件。

如果你想坚持使用Postfix,很容易做到:只搜索与将Postfix设置为智能主机相关的Ubuntu文章。 但是,如果您对一个系统没有特别的亲和力,那么就有一个专门为此设计的包: ssmtp 。 所以,如果你想给它一个旋转,那么只需安装ssmtp。

注意:以下操作将删除postfix或sendmail。

 sudo apt-get install ssmtp 

然后编辑ssmtp配置文件:

 sudo -e /etc/ssmtp/ssmtp.conf 

我不知道您可以使用的SMTP服务器的详细信息,因此我将给出一个GMail示例:

 Root=your_email@gmail.com Mailhub=smtp.gmail.com:465 RewriteDomain=gmail.com AuthUser=your_gmail_username # me@gmail.com AuthPass=your_gmail_password FromLineOverride=Yes UseTLS=Yes 

现在,您的系统将以您希望的方式发送邮件。 您可以将localhost用作外发SMTP服务器的GUI应用程序中的邮件服务器。 但是CLI怎么样? 使用mail软件:

 sudo apt-get install heirloom-mailx 

现在,您还可以使用以下命令从命令行使用邮件:

 mail < filename.ascii someone@somewhere.com -s "My File" 

或者,如果您使用mail撰写您输入的mail someone@somewhere.commail someone@somewhere.com ),则在空白行上用一个句点完成邮件。 一个更好的CLI邮件客户端是muttpine

这是你需要的角度吗? 如果是这样,它成功了吗?

如果您使用的是Thunderbird,则可以为SMTP配置远程服务器。 除非您拥有自己的邮件服务器,否则通常是您的ISP的中继服务器或您的邮件提供商SMTP服务器。 我已成功将Gmail用作我的SMTP服务器,但它确实需要身份validation。 (其他一些主机也可能。)

使用命令telnet mail.example.com 25测试对服务器的访问。 如果它正常工作,您将从服务器收到一条横幅消息。

让Thunderbird使用服务器后,您可以将Exim或Postfix配置为同一服务器的卫星服务器。 如果您不需要从其他应用程序发送电子邮件,则可以跳过此步骤。 请注意,传出服务器上的源地址可以接受电子邮件。

编辑:检查您是否没有激活iptables并阻止传出流量。 如果这样做,请在所需端口上启用传出流量。 您可以使用tcptraceroute mail.example.com 25类的命令来查看阻止的位置。 在使用之前需要安装tcptraceroute

我在一个流浪盒上测试了这个并且工作得很好。 通过运行命令安装以下内容

apt-get install php-pear

梨安装邮件

pear安装Net_SMTP

pear安装Auth_SASL

pear install mail_mime

然后通过运行以下命令安装postfix

apt-get install postfix

安装时选择 –

Internet站点和localhost代替服务器,因为我们在localhost上尝试此操作

在此之后运行以下命令

sudo vim /etc/ssmtp/ssmtp.conf

更改文件

将此更改为ssmtp.conf文件

FromLineOverride = YES

AuthUser=youremail@gmail.com

AuthPass = yourpasss

最重要的是,您的电子邮件可通过不太安全的应用访

https://www.google.com/settings/security/lesssecureapps

然后你可以使用php mailfunction或在终端输入以下命令从终端本身发送邮件

$ ssmtp youremail@gmail.com

来自:youremail@gmail.com

TO:sendto@email.com

主题:主题

您好,这是我的第一封ssmtp电子邮件!

按Ctrl + D,ssmtp将发送您的电子邮件

您还可以从您的机器检查smtp是否正常工作

ping smtp.gmail.com

– 这个命令的输出是这样的

来自sc-in-f108.1e100.net的64字节(74.125.68.108):icmp_seq = 1 ttl = 63 time = 68.4 ms

telnet smtp.gmail.com 587

– 输出必须是这样的

尝试74.125.68.108 ……

已连接到gmail-smtp-msa.l.google.com。

220 smtp.gmail.com ESMTP l14sm12513264pfb.73 – gsmtp