Adonis api 邮件不工作 (adonis install @adonisjs/mail)
Adonis api mail not working (adonis install @adonisjs/mail)
问题
大家好,我正在开发 Adonis restful API 服务(4.0 版)。我在我的代码中使用了 adonis 邮件。我已经关注了文档,但出现了这样的错误:找不到模块 'Adonis/Src/View'
工具
Webstorm & insomina(休息客户端)
我的文件夹结构
示例代码
config/Mail.js - I am using mailtrap
'use strict'
const Env = use('Env')
module.exports = {
connection: Env.get('MAIL_CONNECTION', 'smtp'),
smtp: {
driver: 'smtp',
pool: true,
port: 2525,
host: 'smtp.mailtrap.io',
secure: false,
auth: {
user: "########",
pass: "########"
},
maxConnections: 5,
maxMessages: 100,
rateLimit: 10
},
sparkpost: {
driver: 'sparkpost',
apiKey: Env.get('SPARKPOST_API_KEY'),
extras: {}
}
}
my Code : in user controller
// Store the information
async store({request, response}) {
let validation = await validate(request.all(), rules)
if (validation.fails()) {
return response.status(400).json({data: 'error', message: validation._errorMessages[0].message, status: false})
}
const userInfo = request.all();
const users = new User();
users.username = userInfo.username;
users.email = userInfo.email;
users.password = userInfo.password;
let checkUser = await dataBase.table('users').where('email', '=', users.email)
if (checkUser.length > 0) {
return response.status(400).json({data: 'insert fail', message: 'email already register', status: false})
}
await users.save();
// sending mail after registration
const data =request.only(['username','email', 'password']);
await Mail.send('emails.welcome', {}, (message) => {
message.from('#####.com')
message.to('####.com')
})
return response.status(201).json({message: 'user created successfull', status: true});
}
屏幕截图 - 休息客户端
它要求查看提供程序,之后需要安装,只有欢迎 html 文件才能工作
需要在提供者数组中注册视图提供者
'@adonisjs/framework/providers/ViewProvider'
我在注册 ViewProvider
后仍然收到此错误。
事实证明,最新版本的邮件和验证包(也可能是其他版本)具有与 Adonis 版本 5 一起使用的重大更改。要安装与 Adonis 版本 4.1 一起使用的每个包的版本,请在通过安装时使用 legacy 标志使用 npm。
像这样:npm i @adonisjs/mail@legacy
从维护者那里了解更多关于这个主题的信息here
问题
大家好,我正在开发 Adonis restful API 服务(4.0 版)。我在我的代码中使用了 adonis 邮件。我已经关注了文档,但出现了这样的错误:找不到模块 'Adonis/Src/View'
工具
Webstorm & insomina(休息客户端)
我的文件夹结构
示例代码
config/Mail.js - I am using mailtrap
'use strict'
const Env = use('Env')
module.exports = {
connection: Env.get('MAIL_CONNECTION', 'smtp'),
smtp: {
driver: 'smtp',
pool: true,
port: 2525,
host: 'smtp.mailtrap.io',
secure: false,
auth: {
user: "########",
pass: "########"
},
maxConnections: 5,
maxMessages: 100,
rateLimit: 10
},
sparkpost: {
driver: 'sparkpost',
apiKey: Env.get('SPARKPOST_API_KEY'),
extras: {}
}
}
my Code : in user controller
// Store the information
async store({request, response}) {
let validation = await validate(request.all(), rules)
if (validation.fails()) {
return response.status(400).json({data: 'error', message: validation._errorMessages[0].message, status: false})
}
const userInfo = request.all();
const users = new User();
users.username = userInfo.username;
users.email = userInfo.email;
users.password = userInfo.password;
let checkUser = await dataBase.table('users').where('email', '=', users.email)
if (checkUser.length > 0) {
return response.status(400).json({data: 'insert fail', message: 'email already register', status: false})
}
await users.save();
// sending mail after registration
const data =request.only(['username','email', 'password']);
await Mail.send('emails.welcome', {}, (message) => {
message.from('#####.com')
message.to('####.com')
})
return response.status(201).json({message: 'user created successfull', status: true});
}
屏幕截图 - 休息客户端
它要求查看提供程序,之后需要安装,只有欢迎 html 文件才能工作
需要在提供者数组中注册视图提供者
'@adonisjs/framework/providers/ViewProvider'
我在注册 ViewProvider
后仍然收到此错误。
事实证明,最新版本的邮件和验证包(也可能是其他版本)具有与 Adonis 版本 5 一起使用的重大更改。要安装与 Adonis 版本 4.1 一起使用的每个包的版本,请在通过安装时使用 legacy 标志使用 npm。
像这样:npm i @adonisjs/mail@legacy
从维护者那里了解更多关于这个主题的信息here