只需点击一下按钮即可自动发送电子邮件

时间:2011-04-13 13:40:34

标签: php email mailto

我正在设计一个紧急响应页面,我们需要的功能之一就是能够点击一个按钮(例如“将详细信息发送到大使馆”),然后将自动生成的电子邮件发送给目标收件人({ {1}})无需进入Microsoft Outlook并单击“发送”。有没有办法做到这一点?

我知道的唯一方法是$email_address,但这会打开Outlook中的电子邮件,我真的需要它完全自动化。

2 个答案:

答案 0 :(得分:9)

这样的事情可以作为一个起点:

<form action="" method="post">
    <input type="submit" value="Send details to embassy" />
    <input type="hidden" name="button_pressed" value="1" />
</form>

<?php

if(isset($_POST['button_pressed']))
{
    $to      = 'nobody@example.com';
    $subject = 'the subject';
    $message = 'hello';
    $headers = 'From: webmaster@example.com' . "\r\n" .
        'Reply-To: webmaster@example.com' . "\r\n" .
        'X-Mailer: PHP/' . phpversion();

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

    echo 'Email Sent.';
}

?>

<强>更新

这可以用作Javascript函数来调用mail.php页面并发送电子邮件而无需重新加载页面。

function sendemail()
{
    var url = '/mail.php';

    new Ajax.Request(url,{
            onComplete:function(transport)
            {
                var feedback = transport.responseText.evalJSON();
                if(feedback.result==0)
                    alert('There was a problem sending the email, please try again.');
            }
        });

}

此方法需要Prototype:http://www.prototypejs.org/api/ajax/request

我没有测试过这个,但希望它应该是正确的。

答案 1 :(得分:0)

PHP支持使用mail function发送电子邮件。您可以在PHP文档中找到示例。 (见链接)

PHP文档示例:

<?php
// The message
$message = "Line 1\nLine 2\nLine 3";

// In case any of our lines are larger than 70 characters, we should use wordwrap()
$message = wordwrap($message, 70);

// Send
mail('caffeinated@example.com', 'My Subject', $message);
?>