Nextjs 13 오류: 정의되지 않은 속성을 읽으려고 시도했습니다('헤더' 읽기).
<p>Nextjs에서 생성한 게시물 API 엔드포인트의 헤더에 문제가 있습니다. </p>
<p>내 엔드포인트는 양식 제출을 위한 것이며 입력 내용을 이메일로 전달합니다. 현재 코드로 이메일을 보낼 수 있고 이메일로 제대로 수신되지만 요청할 때마다 헤더에 오류가 반환됩니다. </p>
<pre class="brush:php;toolbar:false;">import { NextResponse, NextRequest } from "next/server"
"nodemailer"에서 nodemailer를 가져옵니다.
비동기 함수 내보내기 POST(요청: NextRequest, 응답: NextResponse) {
const formData = request.formData()를 기다립니다.
const emailValue = formData.get("이메일")
const messageValue = formData.get("메시지")
const numberValue = formData.get("phone_number")
if (!messageValue || !numberValue || !emailValue) {
return NextResponse.json({ 메시지: "필수 항목을 모두 입력하세요!" }, { status: 400 })
}
const 운송업자 = nodemailer.createTransport({
서비스: "gmail",
인증: {
사용자: process.env.EMAIL,
패스: process.env.PASSWORD,
},
TLS: {
거부권한 없음: 거짓,
},
})
const mailOptions = {
보낸 사람: `${emailValue}`,
받는 사람: `${process.env.EMAIL}`,
제목: `연락처 페이지 ${numberValue} - ${emailValue}에서 보낸 메시지 `,
텍스트: `${messageValue}`,
}
Transporter.sendMail(mailOptions, (err, info) => {
만약 (오류) {
NextResponse.json({ 메시지: `${err}` }, { 상태: 500 }) 반환
}
return NextResponse.json({ 메시지: "이메일이 성공적으로 전송되었습니다!" }, { 상태: 200 })
})
}</pre>
<p>제가 뭘 잘못했는지 잘 모르겠습니다. return 문에서 NextResponse를 수행하는 방법에 대한 스레드를 읽었지만 그것조차 작동하지 않았습니다. </p>
<p>표시된 오류 메시지:</p>
<pre class="brush:php;toolbar:false;"> - 오류 TypeError: 정의되지 않은 속성을 읽을 수 없습니다('헤더' 읽기).
평가판(webpack-internal:///(sc_server)/./node_modules/next/dist/server/future/route-modules/app-route/module.js:261:61)
process.processTicksAndRejections(node:internal/process/task_queues:95:5)</pre></p>