Мне нужно иметь возможность получить адрес электронной почты от пользователя, а затем использовать php для отправки им электронной почты со ссылкой. Я знаю, что есть некоторые реализации, использующие jquery или AJAX, но у меня нет опыта ни в одной из этих тем. Я надеялся на что-то простое. благодаря
«Мне нужно иметь возможность получать адрес электронной почты от пользователя»
Создайте форму:
<form action="emailHandler.php" method="POST" id="emailForm"> <label for="emailInput">Email: </label> <input type="text" name="emailInput" id="emailInput" value="" /> <input type="submit" id="submitEmail" value="Submit Email" /> </form>
", а затем используйте php для отправки им электронной почты со ссылкой"
Кнопка отправки в форме будет POST значением поля ввода для скрипта PHP emailHandler.php
«Я знаю, что есть некоторые реализации, использующие jquery или AJAX, но у меня нет опыта в любой из этих тем»
Для этого вам не нужны jQuery или AJAX, jQuery и AJAX – это темы javascript (в этом случае AJAX – это то, что вы извлекли значение из HTML, затем отправили их на сервер PHP и получили объект JSON, который будет сообщать javascript, был ли он успешным или нет, здесь НЕОБХОДИМО НЕ ТРЕБУЕТСЯ, но он МОЖЕТ использоваться), вы можете просто использовать встроенную функцию почты PHP: http://php.net/manual/en/function.mail.php
в emailHandler.php.
Мне нравится делать это так:
function spamcheck($field) { //filter_var() sanitizes the e-mail //address using FILTER_SANITIZE_EMAIL $field=filter_var($field, FILTER_SANITIZE_EMAIL); //filter_var() validates the e-mail //address using FILTER_VALIDATE_EMAIL if(filter_var($field, FILTER_VALIDATE_EMAIL)) { return true; } else { return false; } } function sendMail($toEmail, $fromEmail, $subject, $message) { $validFromEmail = spamcheck($fromEmail); if($validFromEmail) { mail($toEmail, $subject, $message, "From: $fromEmail"); } }
И сделайте что-нибудь подобное в emailHandler.php:
$email = isset($_POST['emailInput']) ? $_POST['emailInput'] : false; if($email != false) { $yourEmail = "example@example.com";. $subject = "Link"; $message = "The link and some message"; $success = sendMail($email, $yourEmail, $subject, $message); }
В некоторых случаях вам нужно изменить файл PHP ini, вы можете сделать это следующим образом:
ini_set('SMTP' , 'smtp.example.com'); ini_set('smtp_port' , '25'); ini_set('username' , 'example@example.com'); ini_set('password' , 'password'); ini_set('sendmail_from' , 'example@example.com');
«Я надеялся на что-то простое. Спасибо»,
Если это было не просто, тогда я не знаю, что это такое. Если вы не сделаете это сложным, используя jQuery и Ajax, прочитайте о них в Интернете (или посмотрите мой профиль, я выдал много полного рабочего кода, который работает с ним).
Если вы пытаетесь отправить электронное письмо в форме, вы можете просто сделать это с помощью действия формы, а остальные – схожи. Надеюсь, поможет(:
<form action="MAILTO:name@email.com" method="post" enctype="text/plain">
PHP имеет почтовую функцию . Вам нужно будет настроить php.ini для этого.