簡體   English   中英

PHP mail()奇怪的附加信息自動發送

[英]PHP mail() strange additional information automatically sending

好吧,最近,我創建了一個腳本並將其放置在我可以訪問的域上。 一旦我嘗試發送電子郵件,電子郵件就通過了,沒問題,但是我發現有些奇怪。

我的主題字段尚未設置。 我的主題行完全空白,好像我從未發送過。 好像也不是通過任何一個發送我的標頭。 (參見此: 圖片

此外,是否有理由將這些信息與我的信息一起發送到電子郵件中? 就像,可能是php.ini中的設置嗎?

郵件ID:message-id-here @ **。gs

日期:2013年1月2日,星期三05:37:47 +0400(MSK)

來自:www-data@**.gs(www-data)

返回路徑:www-data@**.gs

X-OriginalArrivalTime:2013年1月2日01:37:47.0814(UTC)FILETIME = [C5131C60:01CDE889]

我正在發送電子郵件,這就是消息。

這是正確的嗎?

目前,這就是我的腳本的樣子。

<html>
<head>
    <title>Email</title>
</head>

<body>
    <?php
        ini_set("mail.add_x_header", "Off");
        if(isset($_POST['send']))
        {
            $To = ((isset($_POST['to'])) ? $_POST['to'] : '');
            $Subject = ((isset($_PST['subject'])) ? $_POST['subject'] : '');
            $Message = ((isset($_POST['message'])) ? $_POST['message'] : '');
            $Headers = ((isset($_POST['from'])) ? "From: " . $_POST['from'] . "\r\n" : '');
            $Headers = ((isset($_POST['reply-to'])) ? "Reply-to: " . $_POST['reply-to'] . "\r\nReturn-Path:" . $_POST['reply-to'] . "\r\n" : '');
            if(mail($To, $Subject, $Message, $Headers))
            {
                echo 'Sent to ' . $To . '.';
            }
        }
    ?>

    <form method="POST">
        To: <input type="text" name="to" value="" /><br />
        Subject: <input type="text" name="subject" value="" /><br />
        Message: <textarea name="message" style="width:300px; height:200px;"></textarea><br />
        From: <input type="text" name="from" value="" /><br />
        Reply-To: <input type="text" name="reply-to" value="" /><br />
        <input type="submit" name="send" />
    </form>
</body>

您的主題沒有設定,因為您有錯字。 更改:

$Subject = ((isset($_PST['subject'])) ? $_POST['subject'] : '');

至:

$Subject = ((isset($_POST['subject'])) ? $_POST['subject'] : '');

至於標題,您的Return-To覆蓋From標題。 您還應該將\\ r \\ n更改為\\ n,因為某些電子郵件客戶端會將\\ r \\ n解釋為“所有標頭的結尾”。

因此,代替:

$Headers = ((isset($_POST['from'])) ? "From: " . $_POST['from'] . "\r\n" : '');
$Headers = ((isset($_POST['reply-to'])) ? "Reply-to: " . $_POST['reply-to'] . "\r\nReturn-Path:" . $_POST['reply-to'] . "\r\n" : '');

做:

$Headers = array();
if (isset($_POST['from']))
{
    $Headers[] = "From: " . $_POST['from'];
}
if (isset($_POST['reply-to']))
{
    $Headers[] = "Reply-to: " . $_POST['reply-to'];
    $Headers[] = "Return-Path: " . $_POST['reply-to'];
}
$Headers = implode("\n", $Headers) . "\r\n";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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