Отправка писем автоматически одним нажатием кнопки
Я разрабатываю страницу экстренного реагирования, и одна из функций, которые нам нужны,-это возможность нажать кнопку (например, "отправить данные в посольство"), а затем отправить автоматически сгенерированное электронное письмо предполагаемому получателю ($email_address) без необходимости входить в Microsoft Outlook и нажмите кнопку Отправить. Есть ли способ сделать это?
единственный метод, который я знаю, это <a href='mailto:example@test.com'>
один, но это открывает электронную почту в Outlook, и мне действительно нужно, чтобы она была полностью автоматизированный.
Спасибо за помощь
3 ответов
что-то вроде этого будет работать в качестве отправной точки:
<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 для вызова почты.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
Я не тестировал это, но, надеюсь, это должно быть в правильном направлении.
PHP поддерживает отправку электронной почты с функции почты. Примеры можно найти в документации по 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);
?>
одним из решений было бы использовать функцию mail () в php. Существует несколько классов. Я использую Phpmailer для этого ;)