Свяжитесь с нами через Angularjs - PullRequest
0 голосов
/ 31 мая 2018

Я отредактировал пост, чтобы получить больше деталей, поэтому спасибо, что указал на это:)

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

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

у меня на сервере 3 файла, которые являются contact.php, contact.html и app.js, и я создал учетную запись электронной почты на том же сервере, потому что это частьпакет, когда я его принимал.

Мой контроллер и HTML-код:

app.controller("contactController", ['$scope', '$http', function ($scope, $http) {


        $scope.formData = {

            subject: '',
            email: '',
            message: ''
        };
        console.log(formData);
        // process the form
        $scope.processForm = function () {
            $http({
                method: 'POST',
                url: 'contact.php',
                data: $scope.formData,
                headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
            })


        };


    } ]);
<div class=" container formcontainer">
        
      <form method="post">
            
            <input type="text" name="subject" class="form-control" placeholder="Subject..." ng-model="formData.subject">
            
            <input type="email" name="email" class="form-control" placeholder="Your email..." ng-model="formData.email">
         
            <textarea  rows="5" cols="50" class="form-control" placeholder="You message" ng-model="formData.message"></textarea>
           
            <button type="submit" ng-click="processForm()" class="btn btn-success btn-lg btn-block">Submit!</button>
      </form>
   </div>

И мой php

<?php


$post_data = file_get_contents("php://input");
$data = json_decode($post_data);



//email information
$to = "lurtze@hotmail.com";

$subject = $data['subject'];
$userEmail=$data['email'];
$message=$data['message'];



$headers = 'From: ' . $userEmail . "\r\n" .
        'Reply-To:'.$userEmail . "\r\n" .
        'X-Mailer: PHP/' . phpversion();

//php mail function to send email on your email address
mail($to, $subject, $message, $headers);

//Email response
  echo "Thank you for contacting us!";
  }

?>

Теперь я получаю сообщение об ошибке, когда я консольный журнал мой код, ReferenceError: formData не определена

То, что я пытался сделать, это отправить массив в скрипт php, а затем отправить информацию в виде электронного письма.

Как я уже упоминал ранее, я попробовал несколько руководств и фрагментов кода, но не смогзаставить его работать Так что я ценю любую помощь, которую могу получить!

Ответы [ 2 ]

0 голосов
/ 31 мая 2018
  1. Настройка сервера исходящей электронной почты или использование API от поставщика услуг.

  2. Настройка вызова API, который может отправлять электронные письма через то, что было настроено на шаге1.

  3. Отправка запросов из формы контакта в API, настроенный на шаге 2.

0 голосов
/ 31 мая 2018

Не отправляйте почту через приложение AngularJS!Отправьте ваш запрос на ваш сервер, который отправит основной для запроса

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...