Отправка электронных писем автоматически одним нажатием кнопки - PullRequest
6 голосов
/ 13 апреля 2011

Я разрабатываю страницу реагирования на чрезвычайные ситуации, и одна из функций, которая нам нужна, - это возможность нажать кнопку (например, «Отправить информацию в посольство»), а затем отправить автоматически сгенерированное электронное письмо получателю ($email_address) без необходимости заходить в Microsoft Outlook и нажимать кнопку отправки.Есть ли способ сделать это?

Единственный известный мне метод - <a href='mailto:example@test.com'>, но он открывает электронное письмо в Outlook, и мне действительно нужно, чтобы он был полностью автоматизирован.

Ответы [ 2 ]

9 голосов
/ 13 апреля 2011

Примерно так будет работать в качестве отправной точки:

<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.';
}

?>

UPDATE

Это можно использовать в качестве функции 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.');
            }
        });

}

Для этого метода вам понадобится прототип: http://www.prototypejs.org/api/ajax/request

Я не проверял это, но, надеюсь, это должно быть правильно.

0 голосов
/ 13 апреля 2011

PHP поддерживает отправку электронной почты с функцией mail . Вы можете найти примеры в документации 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);
?> 
...