diff --git a/src/config.ts b/src/config.ts
index f2e7aef0e90a2c214ce0957a80a2351ad9bad34c..bb6d0d4f5d5ec2261c8045e3a1a43e4dab52457b 100644
--- a/src/config.ts
+++ b/src/config.ts
@@ -3,10 +3,12 @@ export var config: {
   apiPassword: string
   feedUrl: string
   interval: number
-  listmonkBaseUrl: string
+  listmonkBaseUrl: string,
+  sendMails: boolean
 }
 
 export function parseConfig() {
+  console.log("Parsing config")
   config = {
     apiUser: parseEnvironmentVariable('LISTMONK_API_USER'),
     apiPassword: parseEnvironmentVariable('LISTMONK_API_PASSWORD'),
@@ -14,12 +16,14 @@ export function parseConfig() {
     interval: Number.parseInt(
       parseEnvironmentVariable('LISTMONK_CHECK_INTERVAL')
     ),
-    listmonkBaseUrl: parseEnvironmentVariable('LISTMONK_BASE_URL')
+    listmonkBaseUrl: parseEnvironmentVariable('LISTMONK_BASE_URL'),
+    sendMails: parseEnvironmentVariable('LISTMONK_SEND_MAILS') === 'true',
   }
   if (Number.isNaN(config.interval)) {
     console.error('LISTMONK_CHECK_INTERVAL must be a number')
     process.exit(1)
   }
+  console.log("Config successfully parsed")
 }
 
 function parseEnvironmentVariable(variableName: string): string {
diff --git a/src/index.ts b/src/index.ts
index 3fd78a629ec1168be2a54f1181e4ca06886a4a6d..43108364b8768a8e39a5d59bd971e91e214ac534 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -9,24 +9,34 @@ import cron from 'node-cron'
 import { config, parseConfig } from './config'
 
 async function processRssItem(rssItem: FeedItem, campaigns: CampaignDetails[]) {
+  console.log(`Processing RSS item ${rssItem.title} (GUID: ${rssItem.guid})`)
   const campaign = campaigns.find(
     (campaign) =>
       campaign.tags.find((tag) => tag === `id:${rssItem.guid}`) !== undefined
   )
   if (campaign !== undefined) {
+    console.log(`Campaign for GUID ${rssItem.guid} already exists`)
     return
   }
-  console.log(`"${rssItem.title}" doesn't exist.`)
+  console.log(`Creating campaign for GUID ${rssItem.guid}`)
   const details = await createCampaign(
     rssItem.title,
     rssItem.guid,
     rssItem.content
   )
-  await startCampaign(details.id)
+  if (config.sendMails) {
+    console.log(`Starting campaign for GUID ${rssItem.guid}`)
+    await startCampaign(details.id)
+  }
+  else {
+    console.log('Sending mails is disabled')
+  }
+
 }
 
 function main() {
   ;(async () => {
+    console.log("Starting main loop")
     const campaigns = await listCampaigns()
     const rssItems = await readRssFeed()
 
diff --git a/src/listmonk.ts b/src/listmonk.ts
index 42b32fcd42a335b2dbc99abda8bc320bdf4b5e15..f716472a9fe70a0f4d7c87aa0f69e929d6bd3ea2 100644
--- a/src/listmonk.ts
+++ b/src/listmonk.ts
@@ -92,12 +92,17 @@ export interface CampaignListResponse {
 }
 
 export async function listCampaigns(): Promise<CampaignListResponse> {
-  console.log('Fetch campaigns')
+  console.log('Fetching campaigns')
   const response = await listmonkRequest<CampaignListResponse>(
     'get',
     'campaigns?per_page=skip',
     undefined
   )
-  console.log(`Found ${response.total} campaigns`)
+  console.log(`Campaign array has length ${response.results.length}`)
+  console.log(`Response says we should have ${response.total} total campaigns`)
+  if (response.results.length !== response.total) {
+    console.log('ERROR: Campaign array has different length than response total')
+    process.exit(1);
+  }
   return response
 }