我在 linux 中添加了一个名为“mailer”的用户。我仅使用此用户发送外发邮件,而不是接收邮件。我需要做什么才能使用以下 SMTP 信息发送外发邮件?
$config['host'] = 'localhost';
$config['port'] = '25';
$config['secure'] = ''; //ssl or tls
$config['auth'] = 'true';
$config['username'] = 'mailer';
$config['password'] = '******';
Run Code Online (Sandbox Code Playgroud)
更新
有人请帮忙,我如何设置一个帐户以通过 SMTP 发送邮件?
更新
我应该能够使用 SSH 信息作为用户名/密码来发送邮件吗?以上配置信息是通过SMTP使用PHPMailer。
更新
我运行了一个测试通过 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@gmail.com>, 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
Run Code Online (Sandbox Code Playgroud)
问题是我从来没有收到过!
有没有测试过账号是否可以发送邮件?
有几种方法可以做到这一点,但最简单的方法是 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: mailer@myserver.com
250 2.1.0 Ok
rcpt to: test@testaddress.com
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
Run Code Online (Sandbox Code Playgroud)
如果您看到所有这 250 条 OK 消息并且您的消息通过了测试地址,则该帐户运行正常。
如果您收到错误,那么它将指示问题出在配置中的哪个位置。如果在 MAIL FROM: 命令之后出现错误,则表示根本不允许用户发送邮件。
如果在 RCPT TO: 命令后出现错误,则不允许用户向测试地址发送邮件。
如果您在邮件正文之后收到错误消息,或者消息从未到达,请检查您的邮件日志文件。有另一个窗口显示tail -f /var/log/maillog邮件日志的实时视图非常有用 -将允许您查看邮件服务器上发生的事情。跟踪事情时非常有帮助。
也可以通过切换到mailer用户进行测试,使用mail命令发送测试消息——同时查看maillog看看会发生什么。
| 归档时间: |
|
| 查看次数: |
16396 次 |
| 最近记录: |