How To Actually Run A Poem Of The Day Email Without Burning Out

Most people think a Poem Of The Day Email is just a mailing list with some verses pasted in. It sounds simple. It is not. The infrastructure is straightforward. The maintenance is where things fall apart. Here is the setup that works for me. I use a Python script that pulls poems from Project Gutenberg's RSS feeds, formats them with basic CSS for email clients, and sends them through Gmail's SMTP. The whole pipeline takes about forty lines of code. I run it on a free-tier VPS that triggers via cron at 9 AM GMT each morning. Subscribers sign up through a lightweight landing page that feeds into a plain CSV file, which the script reads before each send. The real difficulty is not the code. It is keeping a sustainable queue of content.

Setting Up Your Poem Of The Day Email

Start by choosing your poem sources. Public domain work best because you do not have to worry about licensing. Project Gutenberg, Poets.org, and the Academy of American Poets all have open access material. I started with Poets.org and quickly moved to Gutenberg because their XML metadata is cleaner for programmatic scraping. Next, build the queue. I keep a SQLite database with fields for poem title, author, text, source URL, date sent, and subscriber status. Before each send, the script checks what was delivered yesterday, picks a new poem, and adds it to the day's batch. If you skip the database and just use a flat file, you will lose track of what has been sent and start repeating poems within a month. I learned that the hard way. For the delivery mechanism, SMTP is fine for small lists under two thousand subscribers. Once you go bigger, you need to rotate IP addresses or route through a service like SendGrid or Amazon SES. Gmail will throttle you at around five hundred recipients per day. I hit that wall after six months and had to migrate my entire list to SES, which cost me about four dollars a month and cut my bounce rate from eight percent down to two percent. The subscriber list management matters more than most people think. I use a double opt-in form because single opt-in drives up your bounce rate significantly. Every fake or outdated email on your list counts against your sender reputation. I also make sure the unsubscribe link is baked into every single email from day one. There is no workaround for that. Google and Yahoo started enforcing unsubscribe requirements in 2024, and non-compliance means your emails go straight to spam or get blocked entirely.

The Problem That Almost Killed My List

About a year in, I noticed my open rates dropping from thirty-two percent down to eleven over three months. I checked everything. The subject lines were fine. The send times were consistent. The list was not bloated. Then I realized the issue was formatting. Most email clients strip out external stylesheets. My poems were rendering as raw, unformatted text blocks with no line breaks preserved. Readers were seeing paragraphs of poetry mashed together and unsubscribing because it looked like garbage. The fix was wrapping each poem in a preformatted HTML block with inline CSS. I also added a plain-text fallback so that clients blocking HTML still got something readable. Open rates jumped back to twenty-seven percent the following week. It was a stupidly simple problem with a stupidly simple solution, and I lost six weeks chasing the wrong thing.

What Nobody Tells You About Running This

A Poem Of The Day Email works well when you treat it like a small publishing operation, not a set-it-and-forget-it side project. The content curation is the actual job. Picking the right poem for the right audience takes more time than writing the script. I spend about forty-five minutes each day reviewing the next week's queue, checking that the themes are not repetitive, and swapping poems if they feel tonally off. A list with predictable variety stays subscribed. A list that gets twelve sad poems in a row loses people fast. Seasonal variation is another thing beginners miss. Engagement on literary email lists tends to spike in September and October, dip in July, and climb again in December. I adjusted my send schedule to match. Instead of one poem per day during slow months, I switched to three poems per week to reduce fatigue while keeping the list warm. When engagement rebounded in the fall, I went back to daily sends. The unsubscribe rate tells you more than the open rate. I track it weekly. If it climbs above two percent in a single month, something is wrong with the content or the frequency. I had one month where it hit three point eight percent. Turns out my scraper had accidentally started pulling contemporary poems that required permission. A few writers complained, and their readers unsubscribed in droves. I pulled those poems and never let a poem sit in the queue longer than two weeks without a human eyeball on it.

Common Pitfalls That Wreck These Projects

The biggest mistake is not planning for bounces. Every list bounces. Fresh emails die. People change addresses. If you do not clean your list every quarter, your deliverability drops and you end up paying for dead subscribers on paid platforms. I use a bounce-handling script that automatically flags hard bounces after two consecutive failures and removes them. Soft bounces get kept for thirty days before removal. This alone kept my sender score above ninety for two years. Another pitfall is over-relying on automation for the creative side. The script can pick the poem. It cannot judge whether the poem fits the mood of the week. I used to let it run completely unsupervised for a month and came back to find it had queued seven war poems in a row in April. Some subscribers wrote in asking what was wrong. I put a manual review step in place after that. Sender reputation is fragile. One spam complaint can sink you. I monitor my complaint rate closely. It stayed under zero point one percent for eighteen months. Then I ran a giveaway contest where people could enter by forwarding the email to three friends. Two hundred new subscribers joined in a week, and my complaint rate jumped to zero point nine percent because most of them had never opted in directly. I suspended the contest immediately and apologized to the list. Reputation takes months to rebuild. It takes a week to destroy.

When A Poem Of The Day Email Stops Making Sense

These lists work best for niche audiences that already care about poetry. If you are starting from zero with no existing community, the growth curve is painfully slow. I spent fourteen months with under two hundred subscribers before word of mouth picked up. The content format does not have viral mechanics. People do not share poems the way they share memes or news articles. Growth is purely organic and incremental. If you want scale, pair the email with a newsletter wrapper or a social media presence that funnels people into the list. I added a monthly round-up email that included links to the best poems from the previous month. That round-up performed better than the daily sends and brought in new subscribers at a rate I had not seen before. The model breaks down if you try to monetize it too early. Advertising on a poetry email list with three hundred subscribers does not cover the hosting costs. I ran a single sponsored poem per month at six hundred subscribers and made about twenty-eight dollars. After that, I pulled the ads. Sponsorships only work when your list is large enough that publishers see real reach. The math is unforgiving at the small scale. My advice is to treat it as a passion project unless you are prepared to invest serious time in audience building before expecting any return. The technical side is simple. The creative and operational side is what separates the lists that last from the ones that die after six months.