问题描述
我正在使用nodemailer通过SMTP从联系表单发送邮件。发送邮件时出现错误
在服务器上处理发布请求:
const express = require('express')
const nodemailer = require('nodemailer')
const bodyParser = require('body-parser')
const app = express()
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: true}))
app.use(express.json())
app.post('/',async (req,res) => {
name = req.body.name,telephone = req.body.telephone,url = req.headers.referer,file = req.body.image
sendMail(name,telephone,url,file)
await res.status(200).json('Сообщение отправлено')
})
module.exports = {
path: '/server/api/form',handler: app
}
const sendMail = async (name,file) => {
let transporter = await nodemailer.createTransport({
host: 'smtp.yandex.ru',port: 465,secure: true,auth: {
user: '[email protected]',pass: '*****'
},})
transporter.sendMail({
from: '[email protected]',to: '[email protected]',subject: 'Сообщение с сайта ***** | Вакансии',text: 'Имя: ' + name + '. Телефон: ' + telephone + '. Страница: ' + url + '. Название файла: ' + file
})
}
如果初始化formData不是“ const formData = new FormData()”,而是“ const formData = {}”,那么我的电子邮件更有可能不会进入垃圾邮件。 提交表单上的Vue方法:
methods: {
handleFileUpdate () {
this.file = this.$refs.file.files[0]
},onSubmit () {
if (this.$v.$invalid) {
this.$v.$touch()
return null
}
const fd = new FormData()
fd.append('image',this.file)
fd.append('name',this.name)
fd.append('telephone',this.telephone)
this.$axios.post('http://localhost:3000/server/api/form',fd,{
headers: {
'Content-Type': 'multipart/form-data'
}
})
this.successValue = true
}
}
const path = require('path')
const multer = require('multer')
const moment = require('moment')
const storage = multer.diskStorage({
destination(req,file,cb) {
cb(null,path.resolve(__dirname,'../..','static'))
},filename(req,`${moment().format('DDMMYYYY-HHmmss_SSS')}-${file.originalname}`)
}
})
const fileFilter = (req,cb) => {
if (file.mimetype === 'image/png' || file.mimetype === 'image/jpg') {
cb(null,true)
} else {
cb(null,false)
}
}
module.exports = multer({
storage,fileFilter,limits: {fileSize: 1024 * 1024 * 5}
})
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)