2017-01-12 10 views
0

여러 수신자에게 이메일을 보내려합니다 (약 3.000). 모든 이메일은 내 DB (Mongo)에 저장됩니다. 그래서 나는 모든 이메일 주소를 반환하는 쿼리를 만들고, 내가 좋아하는, 모든 이메일을 보내 비동기를 사용nodemailer 및 gmail을 사용하여 멀티ipe 이메일 보내기

: 내 nodemailer TRANSPORTE 내 app.js에서,과 같이 만드는 오전

function _sendEmail(params, callback) { 
    async.each(params.email, function(user, cb) { 
     const mailOptions = { 
      from: sender 
      to: user, 
      subject: Subject, 
      text: 'Hello Word', 
     }; 
     app.transporter.sendMail(mailOptions, function(err, response) { 
      if(err) console.log(err); 
      else console.log(response); 
      cb(); 
     }); 
    }, callback); 
} 

나는 10 메일이를 보내려고하면

const transporter = nodemailer.createTransport(smtpTransport({ 
    host: 'smtp.gmail.com', 
    port: 465, 
    secure: true, 
    auth: { 
     user: senderMail, 
     pass: senderMailPassword 
    } 
})); 

, 그냥 잘 작동하지만 내 DB에 모든 이메일에 보내려고 할 때,이 오류가 여러 번 한 무리의 무엇입니까 :

{ [Error: Data command failed: 421 4.7.0 Temporary System Problem. Try again later (WS). g32sm7412411qtd.28 - gsmtp] 
    code: 'EENVELOPE', 
    response: '421 4.7.0 Temporary System Problem. Try again later (WS). g32sm7412411qtd.28 - gsmtp', 
    responseCode: 421, 
    command: 'DATA' } 

내가 빠진 것이 있습니까? 잠시 작은 이메일을 보낼 수 있도록 설정해야합니까? Gmail 계정을 사용하고 있습니다.

미리 감사드립니다.

Gmail의

답변

0

: 421 SMTP 서버 오류 : 너무 많은 동시 세션

당신은 다르게 전송 처리 할 수 ​​

: 각각으로 보내

  • 을 보내는 사이의 세션을 닫습니다

    • 대기 메일 묶음

    가장 좋은 방법은 같은 시간에 10 세션의 한도를 초과하지 않도록 관리하는 것입니다.

  • +0

    Thanks Steven! 그러나 "우편함으로 보내기"란 무엇을 의미합니까? – PauloIke

    +0

    세션별로 여러 개의 메일을 보내도록 처리 할 수는 있지만 Gmail에서 처리하지는 않습니다. – Mech45

    +0

    그럼에도 불구하고 최대 동시 세션 및 분/시간 단위로 보낼 수있는 메시지의 제한에주의하십시오. – Mech45