php - 如何在 Angular 6 中使用我的 php sendmail 函数
问题描述
我正在制作一个 Angular 6 webapp。我想发送一封包含表格信息的邮件。我制作了一个 php 函数来执行此操作,但我不知道如何在我的 Angular 代码中链接它,我需要在我的 Angular 中访问我的 php 代码。
这是我的表格
<form class="example-form">
<h1>Contacteer ons</h1>
<p>Tel:02/411.74.95<br>
info@atlemo.be
</p>
<p>Of vul de onderstaarde form in.</p>
<table class="example-full-width" cellspacing="0"><tr>
<td><mat-form-field class="example-full-width">
<input matInput placeholder="Naam" id="naamContact" name="naamContact"[(ngModel)]="model.naamContact" [formControl]="naamFormControl"
[errorStateMatcher]="matcher" required >
<mat-error *ngIf="naamFormControl.hasError('required')">
Naam is <strong>Verplicht</strong>
</mat-error>
<mat-error *ngIf="naamFormControl.hasError('whitespace')">Opgepast!! "SPATIES"
</mat-error>
</mat-form-field></td>
<td><mat-form-field class="example-full-width">
<input matInput placeholder="Voornaam"id="voornaamContact" name="voornaamContact" [(ngModel)]="model.voornaamContact" [formControl]="voorNaamFormControl"
[errorStateMatcher]="matcher" required>
<mat-error *ngIf="voorNaamFormControl.hasError('required')">
voornaam is <strong>Verplicht</strong>
</mat-error>
<mat-error *ngIf="voorNaamFormControl.hasError('whitespace')">Opgepast!! "SPATIES"
</mat-error>
</mat-form-field></td>
</tr></table>
<mat-form-field class="example-full-width" floatLabel="never">
<span matPrefix>+32 </span>
<input type="text" matInput placeholder="Tel" id="telContact" name="telContact"[(ngModel)]="model.telContact" maxlength=13 [formControl]="telFormControl"
[errorStateMatcher]="matcher" numbersOnly required>
<mat-icon matSuffix>phone</mat-icon>
<mat-error *ngIf="telFormControl.hasError('required')">
Telefoonnr is <strong>Verplicht</strong>
</mat-error>
<mat-error *ngIf="telFormControl.hasError('whitespace')">Opgepast!! "SPATIES"
</mat-error>
<mat-error *ngIf="telFormControl.hasError('smallerdanTen')">10 Cijfers ingeven!!
</mat-error>
</mat-form-field>
<mat-form-field class="example-full-width" floatLabel="never">
<input type="email" matInput placeholder="email" id="emailContact" [(ngModel)]="model.emailContact" name="emailContact" [formControl]="emailFormControl"
[errorStateMatcher]="matcher" required>
<mat-icon matSuffix>alternate_email</mat-icon>
<mat-error *ngIf="emailFormControl.hasError('required')">
email is <strong>Verplicht</strong>
</mat-error>
<mat-error *ngIf="emailFormControl.hasError('whitespace')">Opgepast!! "SPATIES"
</mat-error>
<mat-error *ngIf="emailFormControl.hasError('email')">ongeldig email structuur (abc@def.ghi)
</mat-error>
</mat-form-field>
<div class="row">
</div>
<mat-form-field floatLabel="never">
<mat-label>Onderwerp</mat-label>
<mat-select [(value)]="selectedOnderwerp" name="onderwerpContact" [(ngModel)]="model.onderwerpContact" id="onderwerpContact" [formControle]="onderwerpFormControl" [errorStateMatcher]="matcher" required>
<mat-options value="Inschrijving" >Inschrijving</mat-options>
<mat-options value="Bestelling">Bestelling</mat-options>
<mat-options value="Wedstrijd">Wedstrijd</mat-options>
<mat-options value="Verzekeing/Ongeval">Verzekeing/Ongeval</mat-options>
<mat-options value="Andere">Andere</mat-options>
</mat-select>
<mat-error *ngIf="onderwerpFormControl.hasError('required')">
Kies een <strong>onderwerp</strong>
</mat-error>
<mat-error *ngIf="onderwerpFormControl.hasError('whitespace')">
</mat-error>
</mat-form-field>
<mat-form-field appearance="fill" class="example-full-width">
<textarea matInput placeholder="vraag of commentaar " name="commentaarContact" [(ngModel)]="model.commentaarContact" id="commentaarContact" [formControle]="comentaarFormControl" [errorStateMatcher]="matcher" required></textarea>
<mat-error *ngIf="comentaarFormControl.hasError('required')">
Er is geen commentaar of vraag ingegeven.
</mat-error>
<mat-error *ngIf="comentaarFormControl.hasError('whitespace')">
</mat-error>
</mat-form-field>
<button mat-raised-button class="example-full-width" (click)="checkform()" type="submit" color="primary">verstuur bericht</button>
</form>
这是我的 php
<?php
public function contact()
{
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');
$formdata = json_decode(file_get_contents('php://input'), true);
if( ! empty($formdata)) {
$naam = $formdata['naamContact'];
$voornaam = $formdata['voornaamContact'];
$email = $formdata['emailContact'];
$telefoonnr = $formdata['telContact'];
$onderwerp = $formdata['onderwerpContact'];
$commentaar = $formdata['commentaarContact'];
$contactData = array(
'naamContact' => $naam,
'voornaamContact' => $voornaam,
'emailContact' => $email,
'telContact' => $telefoonnr,
'onderwerpContact' => $onderwerp,
'commentaarContact' => $commentaar,
'created_at' => date('Y-m-d H:i:s', time())
);
$id = $this->api_model->insert_contact($contactData);
$this->sendemail($contactData);
$response = array('id' => $id);
}
else {
$response = array('id' => '');
}
$this->output
->set_content_type('application/json')
->set_output(json_encode($response));
}
public function sendemail($contactData)
{
$message = '<p>Hi, <br />Some one has submitted contact form.</p>';
$message .= '<p><strong>Naam: </strong>'.$contactData['naamContact'].'</p>';
$message .= '<p><strong>Voornaam: </strong>'.$contactData['voornaamContact'].'</p>';
$message .= '<p><strong>Email: </strong>'.$contactData['emailContact'].'</p>';
$message .= '<p><strong>Tel nr: </strong>'.$contactData['telContact'].'</p>';
$message .= '<p><strong>Opmerking of vraag: </strong>'.$contactData['commentaarContact'].'</p>';
$message .= '<br />Thanks';
$this->load->library('email');
$config['protocol'] = 'sendmail';
$config['mailpath'] = '/usr/sbin/sendmail';
$config['charset'] = 'iso-8859-1';
$config['wordwrap'] = TRUE;
$config['mailtype'] = 'html';
$this->email->initialize($config);
$this->email->from($contactData['emailContact'], 'RSGiTECH');
$this->email->to('lerys91@hotmail.com');
$this->email->cc('info@atlemo.be');
//$this->email->bcc('them@rsgitech.com');
$this->email->subject('Contact Form');
$this->email->message($message);
$this->email->send();
}
?>
需要在contact.ts或html中访问我的php代码
解决方案
也许这个 StackOverflow 答案可以帮助你。
链接: Angular 2 如何发送邮件 PHP?
推荐阅读
- c++ - 在 expect_call 中使用的 SaveArg 值
- c# - 打开 XML PowerPoint 更新的表格高度未反映在代码中
- javascript - 在另一个函数javascript中调用函数
- s3ql - s3ql 挂载的文件系统大小错误
- angular - 多个模块中的管道重用,NG6007(由多个 NgModule 声明)或 NG6002(无法解析为 NgModule 类),
- r - 如何获取R中多个连续元素的索引?
- python - WebDriverException 与 geckodriver 在 docker 和 jupyter 中的 selenium
- oracle - 存储过程-SQL Developer
- python - 无法弄清楚如何修复 ValueError 错误的透明度蒙版?
- python - 计算两个模型的梯度