Ethereal을 사용한 이메일 테스트

준비



프로젝트를 시작하거나 이전 프로젝트를 재사용하십시오. 여기서는 Node.js를 사용하지만 다른 프로그래밍 언어에 대한 다른 코드 샘플을 제공하려고 합니다.

Node.js 설치를 준비하세요. here에서 설치 프로그램을 다운로드할 수 있습니다. 현재 Node.js 버전 18.4.0을 사용하고 있습니다. 다른 버전을 사용해 보십시오.

프로젝트 시작


  • package.json 명령을 사용하여 파일npm init을 준비합니다. package.json 명령을 내린 후 지침에 따라 npm init를 채울 수 있습니다.

  • Nodemailer 설치



    이메일 전송에 Nodemailer를 사용하겠습니다. 원하는 대로 다른 라이브러리를 사용할 수 있습니다. 이 게시물에서는 Nodemailer만 다룰 것입니다.
    npm install nodemailer를 사용하여 설치합니다.

    시작하자



    기본적으로 Nodemailer에서 직접 시도the example할 수 있습니다. 그러나 첨부 파일 보내기와 같은 다른 예를 추가하겠습니다. 아래에서 index.js 파일을 볼 수 있습니다. 예제와 유사한 코드가 표시되지만 첨부 파일 기능을 사용할 수 있는지 확인하기 위해 첨부 파일만 추가합니다.

    const nodemailer = require("nodemailer");
    
    // async..await is not allowed in global scope, must use a wrapper
    async function sendEmail() {
      // Generate test SMTP service account from ethereal.email
      // Only needed if you don't have a real mail account for testing
      let testAccount = await nodemailer.createTestAccount();
    
      // create reusable transporter object using the default SMTP transport
      let transporter = nodemailer.createTransport({
        host: "smtp.ethereal.email",
        port: 587,
        secure: false, // true for 465, false for other ports
        auth: {
          user: testAccount.user, // generated ethereal user
          pass: testAccount.pass, // generated ethereal password
        },
      });
    
      // send mail with defined transport object
      let info = await transporter.sendMail({
        from: '"Fred Foo 👻" <[email protected]>', // sender address
        to: "[email protected], [email protected]", // list of receivers
        subject: "Hello ✔", // Subject line
        text: "Hello world?", // plain text body
        html: "<b>Hello world?</b>", // html body
        attachments: [
          {
            filename: 'hello.json',
            content: JSON.stringify({
              name: "Hello World!"
            })
          }
        ]
      });
    
      console.log("Message sent: %s", info.messageId);
    
      // Preview only available when sending through an Ethereal account
      console.log("Preview URL: %s", nodemailer.getTestMessageUrl(info));
    }
    
    sendEmail().catch(console.error);
    

    콘솔 로그에서 제공하는 미리보기 URL을 통해 결과를 확인할 수 있습니다.





    여기에서 Github 리포지토리를 방문하십시오.


    베르비안톨레오 / 노드메일


    노드 메일러 테스트





    노드 메일러


    노드 메일 테스트


    View on GitHub


    고맙습니다



    좋은 웹페이지 즐겨찾기