[node.js] Node.js로 이메일을 보내시겠습니까? [닫은]

최근에 첫 번째 node.js 프로그래밍을 시작했습니다. 그러나 전자 메일을 보낼 수있는 노드에서 모듈을 찾을 수 없으므로 전자 메일로 바로 보내는 연락처 양식을 만들 수 없다는 것을 알았습니다.

누구든지 node.js 이메일 라이브러리 또는 샘플 문의 양식 스크립트를 알고 있습니까?



답변

https://github.com/niftylettuce/node-email-templates 는 node-email-templates가 훨씬 더 나은 옵션입니다.

그것은 또한 창을 지원합니다


답변

Nodemailer는 기본적으로 Node.js로 프로그래밍 할 때 이메일을 쉽게 보낼 수있는 모듈입니다. http://www.nodemailer.com/에 Nodemailer 모듈을 사용하는 방법에 대한 좋은 예가 있습니다. Nodemailer의 기본 기능을 설치하고 사용하는 방법에 대한 전체 지시 사항이이 링크에 포함되어 있습니다.

npm을 사용하여 Nodemailer를 개인적으로 설치하는 데 문제가 발생하여 소스를 다운로드했습니다. npm 설치 및 소스 다운로드에 대한 지침이 있습니다.

이것은 사용하기 매우 간단한 모듈이며 Node.js를 사용하여 전자 메일을 보내려는 사람에게 권장합니다. 행운을 빕니다!


답변

emailjs를 확인하십시오

노드 메일러가 큰 첨부 파일을 사용하도록 노력하는 데 많은 시간을 낭비한 후 emailjs를 발견하고 행복해졌습니다.

nodemailer가 필요로하는 큰 버퍼가 아닌 일반 File 객체를 사용하여 파일 보내기를 지원합니다. 첨부 파일을 html 양식에서 메일러로 전달하기 위해 fe에 링크 할 수 있음을 의미합니다. 또한 대기열을 지원합니다.

결국 nodejitsu ppl이 왜 버전을 기반으로 nodemailer를 선택했는지 전혀 알지 못합니다. emailjs는 훨씬 고급입니다.


답변

nodemailer 모듈을 사용하여 이메일을 보내는 완전한 코드

var mailer = require("nodemailer");

// Use Smtp Protocol to send Email
var smtpTransport = mailer.createTransport("SMTP",{
    service: "Gmail",
    auth: {
        user: "gmail_id@gmail.com",
        pass: "gmail_password"
    }
});

var mail = {
    from: "Yashwant Chavan <from@gmail.com>",
    to: "to@gmail.com",
    subject: "Send Email Using Node.js",
    text: "Node.js New world for me",
    html: "<b>Node.js New world for me</b>"
}

smtpTransport.sendMail(mail, function(error, response){
    if(error){
        console.log(error);
    }else{
        console.log("Message sent: " + response.message);
    }

    smtpTransport.close();
});


답변

@JimBastard의 승인 된 답변은 날짜가 지난 것으로 보였으며, 7 개월 이상 메일러 lib에 손대지 않았고 여러 버그가 나열되어 더 이상 npm에 등록되지 않았습니다.

nodemailer는 확실히 최고의 옵션처럼 보이지만이 스레드의 다른 답변에 제공된 URL은 모두 404입니다.

nodemailer는 Gmail, 핫메일 등에 쉽게 플러그인을 지원한다고 주장하며 정말 아름다운 문서를 가지고 있습니다.


답변

당신은 항상 AlphaMail을 사용할 수 있습니다 ( 공개 : 나는 그 뒤에있는 개발자 중 하나입니다) ).

NPM으로 설치하십시오 .

npm install alphamail

AlphaMail 계정에 가입하십시오. 토큰을 얻은 다음 AlphaMail 서비스로 전송을 시작할 수 있습니다.

var alphamail = require('alphamail');

var emailService = new alphamail.EmailService()
    .setServiceUrl('http://api.amail.io/v1/')
    .setApiToken('YOUR-ACCOUNT-API-TOKEN-HERE');

var person = {
    id: 1234,
    userName: "jdoe75",
    name: {
        first: "John",
        last: "Doe"
    },
    dateOfBirth: 1975
};

emailService.queue(new alphamail.EmailMessagePayload()
    .setProjectId(12345) // ID of your AlphaMail project (determines template, options, etc)
    .setSender(new alphamail.EmailContact("Sender Company Name", "from@example.com"))
    .setReceiver(new alphamail.EmailContact("John Doe", "to@example.org"))
    .setBodyObject(person) // Any serializable object
);

그리고 AlphaMail GUI ( Dashboard )에서 전송 한 데이터로 템플릿을 편집 할 수 있습니다.

<html>
    <body>
        <b>Name:</b> <# payload.name.last " " payload.name.first #><br>
        <b>Date of Birth:</b> <# payload.dateOfBirth #><br>

        <# if (payload.id != null) { #>
            <a href="http://company.com/sign-up">Sign Up Free!</a>
        <# } else { #>
            <a href="http://company.com/login?username=<# urlencode(payload.userName) #>">Sign In</a>
        <# } #>
    </body>
</html>

템플릿은 Comlang 으로 작성되었으며 이메일을 위해 특별히 설계된 간단한 템플릿 언어입니다.


답변

성숙하지 않고 사용하기 쉽고 단순하지 않은 경우 많은 기능이 있습니다. Nodemailer : https://github.com/andris9/nodemailer (올바른 URL 참고)