2017-12-19 12 views
-1

問題:私は1000人の受信者のリストを持っていますが、それぞれ200個ずつメールを送信したいと思います。私はノードjsモジュールemailjsを使ってメールを送信しています。サイズ制限付きバルクメールを送信

以下は私のコードスニペットです。

// Code goes here 

var sizeLimit = 200; 
var totalData = 350; 
var cycles = Math.ceil(totalData/sizeLimit); 
var start; 
var end; 
var recepients = "[email protected],[email protected] list" 

for (var i = 0; i < cycles; i++) { 
    start = end ? end + 1 : 0 
    end = (sizeLimit) * (i + 1) > totalData ? (totalData - start) + start : 
    (sizeLimit) * (i + 1) 


    var bcc = recepients.substr(start,end); 

    (function(i) { 
     setTimeout(function() { 
     console.log(i) 
     //Sending mail using emailjs 
     //bcc 
     }, i * 5000) 
    })(i) 
    } 

メールをバッチで送信する最も良い方法は、私はRedisを使用したくありません。

答えて

1

私が集めることから、200人の受信者をBCCフィールドに一度に入れて電子メールバッチを送信しようとしています。これは非常に悪い習慣であり、あなたがしようとしていることの基本を理解していないことを示しています。

代わりに、に1人の受信者に1件のメールを送信してください。これは、メーリングリストのソフトウェアがとにかく行うもので、あなた自身をロールするのではなく、この目的のために使うべきものです。

などのSaaSサービス、Mailtrainなどのオープンソースソリューション、またはAPIアクセスを特色とする私個人のお気に入りSendyを使用して、特定の側面を自動化できます。

+0

興味深い回答です。それが「極端に悪い習慣」である理由を教えてもらえますか? – RaphaMex

+0

最初に、あなたは 'To:'ヘッダーに受信者としてリストされないためです。専門家として認識されていることを除けば、それはしばしばスパムの兆候であり、あなたをブロックする可能性があります。その後、BCC受信者の数を厳しく制限するメールサーバには限界があります。 1つの例はGmailです。受信者は100人に制限されています。これは実際にはかなり寛大です。また、できるだけ早く数百のメールを送信するように指示することで、メールサーバーにかなりの負担をかけることになります。最後に、大量のメールを送信するために独自のメールサーバーを使用すると、ほぼ確実にDNSBLにリストされます。 – herrbischoff

+0

さらに、電子メール配信の複雑さについてhttps://blog.codinghorror.com/so-youd-like-to-send-some-email-through-code/を読むことをお勧めします。 – herrbischoff

関連する問題