通过本教程https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mariadb-php-lamp-stack-on-debian-10,我已经设置了灯泡虚拟主机(因此,在本地主机上一切正常)。然后要发送电子邮件,我还必须设置一个邮件服务器->
我已经设置了后缀(在教程中),所以我的php.ini
如下所示:
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25
我可以对其进行测试:
$telnet 127.0.0.1 25
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
220 Shepherd.Home ESMTP Postfix (Debian/GNU)
helo test@example.com
250 Shepherd.Home
quit
所以我知道后缀有效。但是,具有以下简单的php脚本:
<!DOCTYPE html>
<html>
<body>
<?php
$to = 'mypersonalemail@gmail.com';
$sub = 'Test mail';
$message = 'Hello! this is a simple email message';
$from = 'someonelse@example.com';
$header = 'From:' . $from;
if (mail($to, $sub, $message, $header)) {
echo "Mail Sent.<br>";
} else {
echo 'Mail Bad<br>';
}
?>
</body>
</html>
将成功打印"Mail Sent."
,但是即使15分钟后,我也没有在mypersonalemail@gmail.com
上收到任何消息。所以发生了什么事?我该如何解决?
其他信息: /etc/postfix/main.cf :
...
#I have added
relayhost = [smtp.gmail.com]:587