通过php表单发送电子邮件时从字段更改

时间:2015-06-23 07:35:12

标签: php forms email field

我制作了一个用户可以填写的PHP表单,当他们按下提交按钮时,它会将反馈邮件发送到我选择的电子邮件地址。唯一的问题是,当我将'from'电子邮件作为name@mydomain.com时,它不起作用。电子邮件将被发送,但将从'mydomain@mywebhost.com'发送。

之后我在'from'标题下测试了我的gmail地址。这次它奏效了。标题中的电子邮件是'myaccount@gmail.com'。我想知道为什么它适用于gmail而不适用于我的域名?

2 个答案:

答案 0 :(得分:0)

这不是您的问题。 gmail smtp服务器不允许与电子邮件区别开来。

如果您使用自己的smtp服务器,那么你可以看到没问题。

备注:

如果smtp帐户电子邮件和电子邮件不相同,则电子邮件可能会被垃圾邮件发送。

您可以使用回复电子邮件地址获取回复邮件或反馈邮件。

答案 1 :(得分:0)

包含所有功能的邮件代码示例(虚拟内容在那里。用变量和数据编辑它)

<?php

    $to = 'my_mail@gmail.com';
    $subject = 'Subject with name '.$c_name;

方法01

单行消息

    $message = 'My message here';

方法02

HTML(Tbale格式)消息

    $message = '<html><body>';
    $message .= '<table>';
    $message .= "<tr><td><strong>Name</strong> </td><td width='75%'>".strip_tags($_POST['name'])."</td></tr>";
    $message .= "<tr><td><strong>Email</strong> </td><td>" .strip_tags($_POST['email']) . "</td></tr>";
    $message .= "<tr><td><strong>Mobile</strong> </td><td>" .strip_tags($_POST['mob']) . "</td></tr>";
    $message .= "<tr><td><strong>Message</strong> </td><td>" . strip_tags($_POST['message']). "</td></tr>";
    $message .= "</table>";
    $message .= "</body></html>";
    $headers = "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

方法02的结尾

    $headers .= "Cc: my_cc@gmail.com";//Cc email
    $headers .= "From: fomr@gmail.com";//From email

    $result = mail($to, $subject, $message, $headers);

    if(!$result)
    {
        ?>
        <script type="text/javascript">
            alert("Mail sending Not Successful. Try again");
        </script>
    <?php
        }
        else
        {
    ?>
        <script type="text/javascript">
            alert("Thank You!");
        </script>
    <?php
        }
    }