[英]How does Mail PHP work?
我今天偶然發現以下腳本使用PHPMail發送電子郵件。
<?php
$to = "some_address@domain.com";
$subject = "Test mail";
$message = "Hello! This is a simple email message.";
$from = "my_address@domain.com";
$headers = "From:" . $from;
mail($to, $subject, $message, $headers);
echo "Mail Sent.";
?>
以上可以通過php mail.php
運行$from
即使不需要設置外出/進入服務器,你也會立即收到一封從$from
發送到$to
的電子郵件。
它真的很吸引我,因為我的CMS使用SMTP傳出服務器(好吧,就像Mail PHP一樣),我需要設置我的Outlook SMTP用戶名和密碼 - 某種驗證。
但是,關於Mail PHP只是...發送一封電子郵件。 到您設置的地址。 從您設置的地址。
看看PHP文檔,它並沒有真正揭示它是如何工作的。 郵件PHP沒有任何垃圾郵件問題,因為任何人都可以隨時以編程方式發送任何人而無需驗證from
身份嗎?
編輯:
評論中的人們正在談論POTUS,這很有趣,因為我記得確切的事情:
它確實登陸了我的垃圾文件夾,但我確信不難讓它看起來足夠令人信服,仍然被認為是"oh damn spam filter lost my e-mail!"
mail
函數使用php.ini中的設置。 可以在Mail Runtime Configuration中找到此配置的詳細信息。
可以在php.ini中設置默認值,但您可以使用ini_set
覆蓋它們。
我打賭你從托管服務器上的PHP腳本發送了郵件。 該服務器可能預先配置了SMTP設置。 如果您在WAMP / LAMP服務器上本地嘗試此操作,則必須自己進行此配置,因為PHP無法讀取您的Outlook / WhateverMailclient設置。
如評論中所述,您可以自己指定發件人/發件人地址。 SMTP不要求它是實際的發件人域,這就是為什么這樣做的原因。 缺少的鏈接是主機的預配置SMTP服務器。
某些中繼服務器會檢查此情況,並且您的郵件可能會被阻止或發送到垃圾郵件文件夾。 但是,您可以在DNS中對此進行配置,以指示<Your server's IP>
確實允許為<yourdomain>
發送電子郵件。 有關該主題的更多信息,您可能希望在ServerFault上閱讀此問題 。
它使用smtp協議或send_mail,甚至可以配置php應該用什么來發送php.ini中的郵件。 它可以發送電子郵件,但電子郵件將最終在您的垃圾郵件過濾器中查看DKIM和SPF記錄以獲取更多信息
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.