contact 페이지 만들기. 11.06~11.08

2023. 11. 8. 20:29작업일지

페이지의 모습은 현재와 같은 모습을 구현했고,

 

여기서 메일을 보내는 로직을 구현했다.

 

처음

 

<form action={formAction} className="text-white body-font relative">
   ...
</form>

이 부분에서 action을 사용하게 되면 

 next 의 routes를 이용하여 사용 할 수 없다는것을 몰랐고 이에 

app/router 의 post 메소드를 이용하여 처리 하려고 하였으나 , 

action을 사용하게 되면 아래와 같이 사용해야 했다.

async function onSubmit(prev: any, formData: FormData) {
  const formdata = formDataToObj(formData);

  return sendMail(formdata)
    .then(() => {
      return {
        message: "done",
      };
    })
    .catch(() => {
      return {
        message: "fail",
      };
    });
}

이떄 

nodemailer 라는 라이브러리를 이용하여, 메일을 전송하는 것을 확인하였다.