大家好,我正在开发Adonis restful API服务(版本4.0)。我在我的代码中使用adonis邮件。我跟着doc但是我得到了这样的错误:找不到模块' 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});
}
答案 0 :(得分:2)
要求查看提供者需要安装之后,只有欢迎的html文件才能正常工作
需要在providers数组中注册视图提供程序
'@adonisjs/framework/providers/ViewProvider'
答案 1 :(得分:0)
注册 ViewProvider
后我仍然收到此错误。
事实证明,最新版本的邮件和验证包(也可能是其他版本)具有重大更改,可用于 Adonis 5 版。要安装可用于 Adonis 4.1 版的每个包的版本,请在通过 npm 安装时使用旧版标志.
像这样:npm i @adonisjs/mail@legacy
从维护者那里阅读有关该主题的更多信息 here