簡體   English   中英

Mail PHP如何工作?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM