添加电子邮件帐户到后缀

我在Linux中添加一个名为“邮件程序”的用户。 我只使用这个用户发送传出的邮件,没有收到。 为了使用以下SMTP信息发送外发邮件,我需要做些什么?

$config['host'] = 'localhost'; $config['port'] = '25'; $config['secure'] = ''; //ssl or tls $config['auth'] = 'true'; $config['username'] = 'mailer'; $config['password'] = '******'; 

更新

有人请帮助,我如何设置一个帐户通过SMTP发送邮件?

更新

我应该能够使用SSH信息作为用户名/密码来发送邮件吗? 以上configuration信息通过SMTP使用PHPMailer。

更新

我跑了一个testing,通过PHPMailer发送电子邮件和邮件日志显示…

 Aug 31 17:58:55 spireprod postfix/smtpd[14597]: disconnect from unknown[::1] Aug 31 17:58:55 spireprod postfix/smtp[14601]: DA1491BC1084: to=<[email protected]>, relay=gmail-smtp-in.l.google.com[74.125.95.27]:25, delay=0.48, delays=0.12/0.01/0.12/0.23, dsn=2.0.0, status=sent (250 2.0.0 OK 1283291935 gy42si22156132ibb.26) Aug 31 17:58:55 spireprod postfix/qmgr[941]: DA1491BC1084: removed 

问题是,我从来没有收到它!

您是否testing了该帐户是否可以发送邮件?

有几种方法可以做到这一点,但最简单的方法是telnet到邮件服务器上的端口25(smtp)(从本地控制台尝试):

 telnet localhost 25 Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. 220 myserver.com ESMTP Postfix EHLO test.com 250-myserver.com 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN mail from: [email protected] 250 2.1.0 Ok rcpt to: [email protected] 250 2.1.5 Ok DATA 354 End data with <CR><LF>.<CR><LF> Subject: Test Message Test . 250 2.0.0 Ok: queued as 97B7D7640D0 

如果您看到所有这些250 OK消息,并且您的消息到达testing地址,则该帐户正常工作。

如果出现错误,则会显示configuration中的问题所在。 如果在MAIL FROM:命令之后出现错误,则根本不允许用户发送邮件。

如果在RCPT TO:命令后出现错误,则不允许用户将邮件发送到testing地址。

如果在邮件正文之后出现错误,或邮件从未到达,请检查您的maillog文件。 有一个实时查看maillog的窗口非常有用 – tail -f /var/log/maillog可以让你看到你的邮件服务器发生了什么。 在追踪事情时非常有帮助。

您也可以通过切换到邮件程序用户进行testing,并使用mail命令发送testing消息 – 同时查看maillog以查看发生的情况。

在Postfix中,你可以有一个用户将被授权发送电子邮件,而没有一个实际的邮箱。

这个用户只能用来执行发送电子邮件的操作,但是postfix不会检查用户名是否与发送邮件的电子邮件地址相匹配(如果你没有问的话)。

明确地说,用户“邮件程序”可以发送电子邮件到[email protected][email protected]等等的“邮件发送”字段给任何人。

你可以用两种不同的方式来做到这一点:

  1. 如果你的后缀和你的发送应用程序在同一台机器上(如你的例子),设置你的后缀configuration如下

    smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination

    mynetworks = 127.0.0.0/8

  2. 如果您的客户端在不同的机器上,请在后缀中设置SASLauthentication,并设置如下限制

    smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination

当用户的“邮件程序”发送邮件时,postfix将在授权“RCPT TO”命令之前控制其凭证。 如果匹配,“邮件程序”将被授权以任何“RCPT TO”值执行操作:邮件程序可以将电子邮件发送给任何人。 MAIL FROM字段不受控制,所以您可以在其中放入任何内容。

Postfix是一种接口,可以接收邮件,并根据域名的目的地发送邮件。 Postfix没有用户。

如果您需要创build用户,并且因此在Linux / Unix本地邮件收件人上,则有命令

 useradd 

做一个man useradd 。 这将创build用户; 检查选项,您可能必须指定主目录和/或创build它。 那么请按照这个链接 。

通常Linux上的默认值是本地邮件将被Postfix接受并存储到/var/mail/ user中 ,其中user是服务器上本地存在的用户。

如果configuration为接受和路由外部邮件,Postfix将根据邮件地址的@之后的部分)决定是否必须将其存储在本地(例如,用户本地存在,没有指定域或者域匹配在main.cf指定的mydestination域),或将其转发给中继 ,具体取决于缺省值或transport表。

通常情况下,未知的域将被转发到默认中继,或者Postfix将根据目标域的DNS MX条目pipe理将邮件传递到目标服务器。