php - 如何将 Swiftmailer 集成到 Angular2 中

标签 php angular swiftmailer

因为我现在三天都找不到答案,所以我试着自己问。

我是 Angular 的新手,两周前开始学习它。我用 angular-cli 建立了一个项目。到目前为止,一切都很好,除了我的联系表之外。

我想要什么 我想将 Swiftmailer 集成到我的 Angular 项目中,这样我就可以通过联系表单本地 (Linux Mint) 向自己发送电子邮件。

我有什么 我已经有一个简单的 Bootstrap 表单(姓名、电子邮件、消息)并且我添加了 Swiftmailer通过 Composer 。我在我的 Assets 文件夹中创建了一个名为 mail.php 的文件(因为 Angular 不能这样做):

<?php
require_once __DIR__.'../vendor/autoload.php';

$request = json_decode(file_get_contents('php://input'));

// Create the Transport
$transport = (new Swift_SmtpTransport('smtp.actual-server.de', 25))
->setUsername('actually-filled-in-working-username')
->setPassword('actually-filled-in-working-password')
;

// Create the Mailer using your created Transport
$mailer = new Swift_Mailer($transport);
$mailer->registerPlugin(new Swift_Plugins_AntiFloodPlugin(100, 30));

// Create a message
$message = (new Swift_Message('Test Subject'))
->setFrom([$request->email => $request->name])
->setTo(['suzu.amaranthine@gmail.com' => 'Suzu'])
->setBody($request->message)
;

// Send the message
return $mailer->send($message);

在我的模板中,我将操作设置为这个文件。当我尝试提交时,没有任何反应。我的想法是,我需要在我的 contact.component.ts 中做一些事情,但是当我尝试导入“Swiftmailer/Message.php”时,我失败了。

有谁知道我需要在那里做什么才能使其协同工作?

版本:

PHP 7.0.18-0ubuntu0.16.04.1 (cli) ( NTS )

"swiftmailer/swiftmailer": "^6.0"

@angular/cli: 1.2.0
node: 6.11.1
os: linux x64
@angular/animations: 4.3.0
@angular/cdk: 2.0.0-beta.8
@angular/common: 4.3.0
@angular/compiler: 4.3.0
@angular/core: 4.3.0
@angular/forms: 4.3.0
@angular/http: 4.3.0
@angular/material: 2.0.0-beta.8
@angular/platform-browser: 4.3.0
@angular/platform-browser-dynamic: 4.3.0
@angular/router: 4.3.0
@angular/cli: 1.2.0
@angular/compiler-cli: 4.3.0
@angular/language-service: 4.3.0

最佳答案

我终于解决了。我在加载 vendor/autoload.php 时缺少一个“/”,这就是它不起作用的原因。

<?php
require_once __DIR__ . '/../../vendor/autoload.php';
require_once __DIR__ . '/../../vendor/swiftmailer/swiftmailer/lib/swift_required.php';

关于php - 如何将 Swiftmailer 集成到 Angular2 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45231162/

相关文章:

php - 未出现 Laravel 5.2 验证错误

php - Yii widget 在组件中调用

angular - 如何在 Angular 中检测路线何时更改和新 View 何时被替换

angular - 将 Angular 更新到版本 9 后,MatDialog 停止工作

javascript - 回溯验证第二个电子邮件地址

php - Symfony swiftmailer 通过本地主机上的 smtp gmail openssl 错误

php - 如何在 MongoDB 中处理低于 1970 的日期

php - 使用 swiftmailer 向多个收件人发送电子邮件

php - Symfony2 SwiftMailer - 如何在不等待服务器响应的情况下发送电子邮件

php - 如何在加入mysql sql中的表之前加上条件?