【问题标题】:PHP email text to gmail accountPHP电子邮件文本到gmail帐户
【发布时间】:2009-10-26 22:45:05
【问题描述】:

有什么方法可以获取文本(从表单中检索),然后通过电子邮件将其发送到我的 gmail 帐户?我还可以让用户输入他们的电子邮件地址和主题。或者如果没有,有没有更好的方法让用户给我发消息?谢谢。

【问题讨论】:

    标签: php email forms gmail


    【解决方案1】:

    使用mail函数发送邮件到特定地址:

    $subject = $_REQUEST['subject'];
    $message = $_REQUEST['message'];
    mail("your@gmail.com", $subject, $message); 
    

    但请不要从表单中获取$to 参数,否则您的脚本将被用于发送垃圾邮件。

    【讨论】:

    • $to 将永远是我的 gmail 帐户。
    【解决方案2】:

    我建议您使用PHP Mailer,该程序将负责所有邮件的构建,并且可以与 Gmail 配合使用。还包含 Gmail 的示例代码。

    【讨论】:

    • 这比原始邮件功能更安全、更简单。好建议!
    • 只有porblem在回复或者from没用,不过没关系,我只是把要回复的email地址加到body的开头。
    【解决方案3】:

    扩展 Ivan 所写的将用户电子邮件添加为发件人的内容:

    $subject = $_POST['subject'];
    $message = $_POST['message'];
    $from    = $_POST['from'];
    
    // the sender email must be cleaned of mime header injection
    $from = preg_replace_all("/[\r\n]+/", '', $from);
    
    mail("your@gmail.com", $subject, $message, "from:$from\n");
    

    这样更容易回复。但是,您可以在邮件正文中附加他们的电子邮件地址。

    【讨论】:

    • “发件人”只是一个普通的电子邮件地址,例如“name@domain.tld”,这些“mime 标头”从哪里来?
    • 电子邮件地址是 mime 消息的一部分,就像嵌入在 HTML 中的电子邮件如何成为 HTML 的一部分一样。因此,像 user@example.com 这样的电子邮件如果没有转义 HTML 实体,就会在 HTML 中变为斜体。对于mime,很简单,转义或删除\n即可。
    • 例如:电子邮件 user@example.com\nbcc:spam@example.com 会将垃圾邮件发送到 spam@example.com
    猜你喜欢
    • 2018-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-15
    相关资源
    最近更新 更多