При попытке отправить письмо с Angular 7 и php получено сообщение об ошибке соединения. - PullRequest
0 голосов
/ 28 февраля 2020

Я пытаюсь подключить контактную форму, встроенную в Angular 7, с внутренним php для отправки формы. Когда я консоль данных формы в моем файле contact.component.ts, это показывает, хорошо. Вот что я использую, чтобы попытаться отправить это в мой Php файл:

onSubmit(form) { 
    this.apiService.sendEmail(form)
    .subscribe((Contact: Contact[])=>{
      this.contact = Contact;
   });
}
}

Мой api.service.ts:

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Contact } from './contact';
import { Observable } from 'rxjs';

@Injectable({
  providedIn: 'root'
})
export class ApiService {
  PHP_API_SERVER = "http://127.0.0.1:8080";
  contact: Contact[]

  sendEmail(form): Observable<Contact[]>{
    return this.httpClient.post<Contact[]>(`${this.PHP_API_SERVER}/contact/contactMail.php`, this.contact);
  }
  constructor(private httpClient: HttpClient) { }
}

и, наконец, мой contactMail. * Файл 1015 *, который находится в папке контактов в src / app:

 header("Access-Control-Allow-Origin: *");
 header("Access-Control-Request-Headers: GET,POST,OPTIONS,DELETE,PUT");
 header('Access-Control-Allow-Headers: Accept,Accept-Language,Content-Language,Content-Type');
// Get the posted data.
$postdata = file_get_contents("php://input");

if(isset($postdata) && !empty($postdata))
{
  // Extract the data.
  $request = json_decode($postdata);
}
$name = htmlspecialchars($request->name);

$email=htmlspecialchars($request->email);
$phone=htmlspecialchars($request->phone);
$project=htmlspecialchars($request->project);
$notes=htmlspecialchars($request->notes);
$emailTo = "jg@gmail.com";

$to = $emailTo;
$subject = "Correspondence from the Website";
$headers = "From: " .$name. "\r\n";
$body = "Name: ".$name."\n Email: ".$email."\n
Would like info on: " .$project." \nComments: " .$notes." \n";
$body = wordwrap($body,70);
mail($to, $subject, $body, $headers);

$result = array('message'=>"Thank You " .$name." Your request has been sent.");

echo json_encode($result);

, когда я запускаю это локально, я получаю сообщение об ошибке: POST http://127.0.0.1:8080/contact/contactMail.php net::ERR_CONNECTION_REFUSED Я пытался выяснить это самостоятельно и прочитал несколько уроков, но я все еще в тупике. Любая помощь будет принята с благодарностью.

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