AngularJS : $ http를 사용하여 mail.php를 쳤을 때 응답 받기

샤질 칸

이 내 컨트롤러 기능 :

$scope.submitContactForm = function() {
    $log.info($scope.contact);
    if ($scope.contactform.$valid) {
        $http({
            method  : 'POST',
            url     : 'http://blog.local/php/mail.php',
            data    : $scope.contact, //forms user object
            headers : {'Content-Type': 'application/x-www-form-urlencoded'}
        })
        .success(function(data) {
            $log.info(data);
            if (data.errors) {
                // Showing errors.
            } else {
                $scope.messageForm = data.message;
            }
        });
    }
};

그리고 내 mail.php

<?php
session_start();
require_once('class.phpmailer.php');
require_once('class.smtp.php');
if($_POST) {
if( !isset($_SESSION['sended']) ) {
    // Re-check with php
    if( isset( $_POST['name'] ) && !empty( $_POST['name'] ) ):
        $name = filter_var(trim($_POST['name']), FILTER_SANITIZE_STRING);
    else:
      echo $error = 'Name is empty!';
       return;
    endif;

    if( isset( $_POST['contactlastname'] ) && !empty( $_POST['contactlastname'] ) ):
        $lastname = filter_var(trim($_POST['contactlastname']), FILTER_SANITIZE_STRING);
        // Add lastname to name
        $name = ($lastname) ?  $name. ' ' .$lastname : $name;
    endif;

    if( isset( $_POST['email'] ) && !empty( $_POST['email'] ) ):
        $email = filter_var(trim($_POST['email']), FILTER_SANITIZE_EMAIL);
            if( !filter_var( $email , FILTER_VALIDATE_EMAIL ) ):
               echo $error = 'Email is not valid!';
                return;
            endif;
    else:
        echo $error = 'Email is empty!';
      return;
    endif;

   if( isset( $_POST['subject'] ) && !empty( $_POST['subject'] ) ):
        $subject = filter_var(trim($_POST['subject']), FILTER_SANITIZE_STRING);
    else:
        $subject = "Hello";
    endif;

    if( isset( $_POST['message'] ) && !empty( $_POST['message'] ) ):
         $message = filter_var(trim($_POST['message']), FILTER_SANITIZE_STRING);
    else:
      echo  $error = 'Message is empty!';
        return;
    endif;

   if(!isset($error)) {
        // if we have no validation errors prepare mail
        $mail = new PHPMailer;
        $mail->isSMTP();
        $mail->SMTPDebug = 0;
        $mail->Debugoutput = 'html';

        //Set the hostname of the mail server gmail - yandex- outlook or your hosting's
        $mail->Host = "smtp.gmail.com"; // <------------ change with your host name
        // use
        // $mail->Host = gethostbyname('smtp.gmail.com');
        // if your network does not support SMTP over IPv6

        //Set the SMTP port number - 587 for authenticated TLS, a.k.a. RFC4409 SMTP submission
        $mail->Port = 465; // <------------ Change with port 25 - 465 - 587 and etc..

        //Set the encryption system to use - ssl (deprecated) or tls
        $mail->SMTPSecure = 'ssl'; // <------------ tls (port 587) or ssl (port 465)

        //Whether to use SMTP authentication
        $mail->SMTPAuth = true;

        //Username to use for SMTP authentication - use full email address for gmail
        $mail->Username = "[email protected]"; // <------------ Smtp authentication - username here

        //Password to use for SMTP authentication
        $mail->Password = ""; // <------------ Smtp authentication -password here

        $mail->setFrom($email, $name);
        $mail->AddReplyTo($email,$name);

        //Set who the message is to be sent to --- CHANGE THIS EMAIL ADDDRES WITH THE ONE YOU WANT TO RECEIVE EMAILS AND WWIT YOUR NAME
        $mail->addAddress('[email protected]', 'Sharjil'); // <----------- CHANGE YOUR WITH YOUR EMAIL ADDRES

        $mail->Subject = $subject;
        $mail->msgHTML($message);

        // If send me copy checkbox is checked send a copy to user
        if( isset( $_POST['contactselfemail'] ) ):
            $mail->addCC($email);
        endif;

        // Send mail and report the result
        if($mail->send()):
            echo 'success';
            $_SESSION['sended'] = 'sended';            
        else:
            echo 'error';
            unset( $_SESSION['sended'] );
        endif;
    }
} else {
    echo 'already';
}
}
?>

$ http를 사용하여 mail.php를 치면 응답으로 빈 문자열이 표시되고 이메일이받은 편지함으로 전송되지 않습니다. 나는 PHP를 너무 많이 모른다. 누구든지 이메일을 보내고 성공과 오류에 대한 적절한 응답을받을 수 있도록 mail.php에서 어떤 변경을해야하는지 알려주세요.

토비

포스트 데이터에 액세스하려면 php-file에서 다음을 사용하십시오.

$postdata = file_get_contents("php://input");
$data_object = json_decode($postdata);

그 사용 후

$ var_name = $ data_object-> var_name;

포스트 데이터에 액세스하려면

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

JMETER를 사용하여 WebService를 쳤을 때 Soap 오류 얻기

분류에서Dev

Api를 누르고 http post 및 curl을 사용하여 응답 받기

분류에서Dev

Win Message를 사용하여 Cstring을 보내고 응답 받기

분류에서Dev

BART의 API를 사용하여 RestSharp C #을 사용하여 응답 받기

분류에서Dev

jQuery를 사용하여 PHP에서 JSON 응답 받기

분류에서Dev

JQuery Ajax를 사용하여 양식을 제출하고 xml 응답 받기

분류에서Dev

PHP를 사용하여 sendgrid를 통해 메일을 보내는 동안 응답 받기

분류에서Dev

Ajax를 사용하여 Django보기에 게시 할 때 Http302 응답

분류에서Dev

guzzle을 사용하여 응답 다운로드를 시작하기 전에 엄청난 HTTP 응답을받을 것임을 감지하는 방법

분류에서Dev

노드의 http.get 함수를 사용하여 ECONNRESET 응답 받기

분류에서Dev

Alamofire를 사용하여 null 응답 받기

분류에서Dev

javascript / jquery를 사용하여 API에서 Json 응답 받기

분류에서Dev

jQuery API를 사용하여 JSON 응답 받기

분류에서Dev

Dart에서 CORS를 사용하여 HTTP POST 요청을 할 때 401 받기

분류에서Dev

PHPMailer를 사용하여 ionic에서 이메일을 보내는 동안 오류 응답 받기

분류에서Dev

angularjs를 사용하여 nodejs에서 res.write ()에 대한 응답 얻기

분류에서Dev

$ http.get에서 응답을받을 때까지 페이지를 표시하지 마십시오.

분류에서Dev

AJAX를 사용하여 두 개의 배열을 PHP에 전송하고 응답을받을 수 없습니다.

분류에서Dev

PHP에서 PDO 쿼리를 사용하여 응답이 비어있을 때 foreach 루프를 건너 뜁니다.

분류에서Dev

HttpRequestMessage를 사용하여 JSON 본문을 보내려고 할 때 오류 응답

분류에서Dev

dio 라이브러리 flutter를 사용하여 API 응답 받기

분류에서Dev

Gremlin : gremlin-driver를 사용하여 Java에서 json 응답 받기

분류에서Dev

바닐라 자바 스크립트를 사용하여 JSON API 응답 받기

분류에서Dev

응답을받을 때까지 음성 통화를 반복하는 Python과 Twilio?

분류에서Dev

Twilio 인간 / 기계로 답을 찾고 PHP를 사용하여 응답을 얻는 방법

분류에서Dev

ImgurAPI를 사용하는 동안 "Permission Denied"응답 받기

분류에서Dev

AJAX 호출을 사용하여 객체를 삭제할 때 200과 204의 2 개의 응답을받는 이유는 무엇입니까?

분류에서Dev

AJAX를 사용하여 PHP 응답 만 가져 오기

분류에서Dev

PHP를 사용하여 XML 응답 읽기

Related 관련 기사

  1. 1

    JMETER를 사용하여 WebService를 쳤을 때 Soap 오류 얻기

  2. 2

    Api를 누르고 http post 및 curl을 사용하여 응답 받기

  3. 3

    Win Message를 사용하여 Cstring을 보내고 응답 받기

  4. 4

    BART의 API를 사용하여 RestSharp C #을 사용하여 응답 받기

  5. 5

    jQuery를 사용하여 PHP에서 JSON 응답 받기

  6. 6

    JQuery Ajax를 사용하여 양식을 제출하고 xml 응답 받기

  7. 7

    PHP를 사용하여 sendgrid를 통해 메일을 보내는 동안 응답 받기

  8. 8

    Ajax를 사용하여 Django보기에 게시 할 때 Http302 응답

  9. 9

    guzzle을 사용하여 응답 다운로드를 시작하기 전에 엄청난 HTTP 응답을받을 것임을 감지하는 방법

  10. 10

    노드의 http.get 함수를 사용하여 ECONNRESET 응답 받기

  11. 11

    Alamofire를 사용하여 null 응답 받기

  12. 12

    javascript / jquery를 사용하여 API에서 Json 응답 받기

  13. 13

    jQuery API를 사용하여 JSON 응답 받기

  14. 14

    Dart에서 CORS를 사용하여 HTTP POST 요청을 할 때 401 받기

  15. 15

    PHPMailer를 사용하여 ionic에서 이메일을 보내는 동안 오류 응답 받기

  16. 16

    angularjs를 사용하여 nodejs에서 res.write ()에 대한 응답 얻기

  17. 17

    $ http.get에서 응답을받을 때까지 페이지를 표시하지 마십시오.

  18. 18

    AJAX를 사용하여 두 개의 배열을 PHP에 전송하고 응답을받을 수 없습니다.

  19. 19

    PHP에서 PDO 쿼리를 사용하여 응답이 비어있을 때 foreach 루프를 건너 뜁니다.

  20. 20

    HttpRequestMessage를 사용하여 JSON 본문을 보내려고 할 때 오류 응답

  21. 21

    dio 라이브러리 flutter를 사용하여 API 응답 받기

  22. 22

    Gremlin : gremlin-driver를 사용하여 Java에서 json 응답 받기

  23. 23

    바닐라 자바 스크립트를 사용하여 JSON API 응답 받기

  24. 24

    응답을받을 때까지 음성 통화를 반복하는 Python과 Twilio?

  25. 25

    Twilio 인간 / 기계로 답을 찾고 PHP를 사용하여 응답을 얻는 방법

  26. 26

    ImgurAPI를 사용하는 동안 "Permission Denied"응답 받기

  27. 27

    AJAX 호출을 사용하여 객체를 삭제할 때 200과 204의 2 개의 응답을받는 이유는 무엇입니까?

  28. 28

    AJAX를 사용하여 PHP 응답 만 가져 오기

  29. 29

    PHP를 사용하여 XML 응답 읽기

뜨겁다태그

보관