Skip to content

Commit f06c0eb

Browse files
committed
Add duplicate email check in main function and update summary output
1 parent 7dc2bab commit f06c0eb

1 file changed

Lines changed: 17 additions & 1 deletion

File tree

german_podcast_emails/send_emails.js

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,8 @@ async function main() {
192192

193193
let successCount = 0;
194194
let failCount = 0;
195+
let duplicateCount = 0;
196+
const processedEmails = new Set(); // Track emails we've already processed
195197

196198
for (const podcast of data) {
197199
// Skip podcasts with no emails
@@ -204,6 +206,18 @@ async function main() {
204206
const emails = podcast.Emails.split(' ').filter(email => email.trim() !== '');
205207

206208
for (const email of emails) {
209+
const emailAddress = email.trim().toLowerCase(); // Normalize for comparison
210+
211+
// Check if we've already processed this email
212+
if (processedEmails.has(emailAddress)) {
213+
console.log(`⚠️ Skipping duplicate email ${email.trim()} (${podcast['Podcast Name']})`);
214+
duplicateCount++;
215+
continue;
216+
}
217+
218+
// Add to processed set
219+
processedEmails.add(emailAddress);
220+
207221
const success = await sendEmail(
208222
email.trim(),
209223
podcast['Podcast Name'],
@@ -225,7 +239,9 @@ async function main() {
225239
console.log(`\n📊 Email sending completed:`);
226240
console.log(` ✅ Successful: ${successCount}`);
227241
console.log(` ❌ Failed: ${failCount}`);
228-
console.log(` 📋 Total: ${successCount + failCount}`);
242+
console.log(` � Duplicates skipped: ${duplicateCount}`);
243+
console.log(` �📋 Total processed: ${successCount + failCount}`);
244+
console.log(` 📧 Unique emails: ${processedEmails.size}`);
229245

230246
} catch (error) {
231247
console.error("❌ Error:", error);

0 commit comments

Comments
 (0)