2013-06-29 9 views
2

Я бы хотел, чтобы автоматическое письмо было отправлено по электронной почте человека, когда они нажимают кнопку. У меня есть несколько проблем, я не уверен, что такое JavaScript для этого. Во-вторых, я не знаю, как смешивать PHP и JavaScript, так как мне нужно использовать PHP для получения их адреса электронной почты и пароля из таблицы SQL, и, насколько мне известно, мне нужен JavaScript для отправки электронной почты. Наконец, я не уверен, как добавить пароль из PHP в электронную почту. Помощь по любому из них будет очень признательна. Благодарю.Отправка автоматизированного сообщения электронной почты

+0

В этом вопросе есть возможный ответ: [http://stackoverflow.com/questions/11238953...](http://stackoverflow.com/questions/11238953/send-html-in-email-via- php) –

+0

Простите, если мне потребуется время, чтобы проверить ответы и выбрать один, я пытаюсь сделать одно, а затем я вернусь к этому. Спасибо за помощь. – TheQuantumBros

ответ

0

Я сделал что-то похожее на это в прошлом, и лучший способ сделать это - создать форму HTML. Затем используйте php для получения всех данных и по-прежнему используйте этот php для отправки электронной почты. Javascript не требуется. Я могу рекомендовать эти ссылки

w3schools form email

Почему вы должны получить доступ к данным из таблицы SQL? Это тип восстановления пароля? Если это так, это также можно сделать с помощью php. Однако, учитывая, что это Q & Сайт помощи, а не форум, я бы нанял разработчика.

Этот link может помочь с доступом к базе данных mysql с php.

Этот link может помочь с отправкой электронной почты php.

Этот link может помочь с отправкой электронной почты на основе html с php.

+0

Я собирался использовать таблицу SQL для хранения данных профиля людей. Есть ли более разумный/лучший способ сделать это? – TheQuantumBros

+0

Нет, я думаю, что это хорошая идея. Однако вам не нужно хранить, а затем вытаскивать его оттуда, когда вы можете просто ввести их и отправить его из формы. Однако при использовании базы данных убедитесь, что вы храните данные в безопасности, зашифровав их. – Kyle

0

Возможно, вы захотите исследовать AJAX через jQuery.

http://learn.jquery.com/ajax/

AJAX позволяет открыть скрипт в JavaScript, а затем делать вещи с любой сценарий PHP вторит обратно.

Если вы не против навигации от страницы интерфейса, будет работать HTML-форма.

+0

Моя цель состояла в том, чтобы открыть окно подтверждения при нажатии кнопки, сообщающей пользователю, что электронное письмо будет отправлено им с их паролем, и если они будут в порядке, он отправит электронное письмо на адрес электронной почты в своем профиле , и если они будут отменены, он не отправит им электронное письмо. – TheQuantumBros

0

Похоже, вы немного запутался, JavaScript не будет никакой помощи для отправки по электронной почте ..

..perhaps это поможет вам думать об этом так:

  1. HTML страницу со ссылкой (<a>), который ссылается на ваш PHP скрипт:

    `<a href="email-script.php">Send Email</a>` 
    
  2. в (отдельный) PHP скрипт (так называемый email-script.php в пример выше), который использует одну из многочисленных почтовых библиотек (swiftmailer, phpmailer), чтобы отправить электронное письмо.

  3. сценарий PHP должен затем вернуть пользователя на исходную страницу .. с сообщением, чтобы сообщить пользователю, что их электронная почта была отправлена ​​

Есть много учебников для отправки электронной почты из PHP, и эти ссылки выше относятся к страницам с примером кода.

4

Простейший способ сделать это:

  1. Сделайте форму HTML на странице:

    <form method="POST" action="email-script.php"> 
        <label for="email">Email:</label> 
        <input type="text" name="email" id="email" /> 
        <input type="submit" value="Ok" /> 
    </form> 
    
  2. Написать код PHP в файле электронной-script.php:

    <?php 
        $email=$_POST['email']; 
        $subject = 'Your subject for email'; 
        $message = 'Body of your message'; 
    
        mail($email, $subject, $message); 
    ?> 
    

Когда вы освоите этот простой метод, лет u может использовать более продвинутый метод с AJAX (так что вам не нужно перезагружать страницу) или SMTP (что дает вам больше контроля над отправкой писем пользователям).

+0

Есть ли способ сделать это, не попросив пользователя отправить электронное письмо? – Tukajo

+0

@Tukajo, конечно вы можете. Вы можете просто позвонить по почтовому методу, когда захотите. Вам просто нужен адрес электронной почты получателя. Если вы поместите этот код на свой index.php, скрипт отправит электронное письмо всякий раз, когда вы заходите на эту страницу: ObiVanKaPudji

0

Вы можете отправить электронное письмо с помощью PHP, но большинство ответов на SO, говорящие «использовать функцию mail(), устарели, я полагаю и, в любом случае, не работают.

Я бы посоветовал вам использовать JavaScript или просто форму HTML, которая собирает идентификатор пользователя или адрес электронной почты пользователя. Затем передайте это как параметр вашей функции post, который вызывает PHP, который вы хотите запустить.

В файле PHP вы читаете письмо (например, через $ _POST ['email']). Затем вы запускаете запрос SQL для получения пароля. ГДЕ оно равно тому, которое вы только что прочитали.

Наконец, поскольку у вас теперь есть пароль, хранящийся в переменной, вы продолжаете в своем PHP-файле и используете функцию PHPMailer, как показано в следующих примерах: https://github.com/PHPMailer/PHPMailer/blob/master/examples/mail.phps. В качестве альтернативы вы можете использовать подобную библиотеку для достижения той же функциональности.

Затем вы вводите пароль в свой текст электронной почты и отправляете его пользователю.

Однако следует отметить осторожность: было бы очень неразумно с точки зрения безопасности отправлять пароли в текстовом формате (не зашифрованном) на адрес электронной почты пользователя. Я бы посоветовал вам отправить им электронное письмо с ссылкой на ссылку для сброса пароля, которое направило бы их в форму, где они могли бы выбрать новый пароль и подтвердить его. Для этого потребуется другой PHP-файл, в котором вы должны выполнить запрос UPDATE для изменения пароля, который хранится в базе данных.

Я предполагаю, что вы уже решили свою проблему, поскольку это старый вопрос, но, возможно, это поможет кому-то другому, кто наткнулся на него.

Смежные вопросы