473,545 Members | 2,451 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

How to best send email to a low volume list?

I need to maintain a list of subscribers to an email list for a
"newsletter " that will be sent via a web form probably once a month.
I anticipate low numbers--tens to maybe one hundred subscribers at the
most. Just curious what the best way to code this is. Should I just
loop through the addresses and send one-off emails to each, or is it
better to somehow send to every recipient in one shot? One thing I
would like to avoid in the latter scenario is each recipient being
able to see the entire list of recipients. Also don't want to trigger
any kind of spam thing on my web host by sending out too many emails.

Anyway, any tips appreciated.

Thanks,
Chris

Oct 24 '07 #1
4 1991
On Wed, 2007-10-24 at 16:54 +0000, chris wrote:
I need to maintain a list of subscribers to an email list for a
"newsletter " that will be sent via a web form probably once a month.
I anticipate low numbers--tens to maybe one hundred subscribers at the
most. Just curious what the best way to code this is. Should I just
loop through the addresses and send one-off emails to each, or is it
better to somehow send to every recipient in one shot? One thing I
would like to avoid in the latter scenario is each recipient being
able to see the entire list of recipients. Also don't want to trigger
any kind of spam thing on my web host by sending out too many emails.

Anyway, any tips appreciated.

Thanks,
Chris
Before you reinvent the wheel, you should look into using a mailing list
manager, Mailman for example:

http://www.gnu.org/software/mailman/index.html

Regardless, confirmed double-opt-in should be a requirement as should a
mechanism for subscribers to unsubscribe themselves.

Using a 'list address' as the from address and using bcc addressing will
prevent your recipients from being able to see all the other recipient
addresses.

Oct 24 '07 #2
A mailing list manager is really overkill for what he is trying to do
*IF* he is not maintaining a discussion list. A "newsletter " list
doesn't sound like a discussion list, especially since he wants to hide
the email addresses of the other people.

If you want to manage your mailing list in a mail client like Mozilla
Thunderbird, you can export them in CSV format. You could put some
string in a certain field that would denote that someone is on the
mailing list, and you could compile the email addresses rather easily
and send out a message via the mailto: protocol (which I will use via
the 'open' command available in MacOSX).

import os

subject = '' # note: you will have problems if you insert certain
characters.
body = '' # You are better off simply writing the message subject
and body once your mail client starts up.

to = ''
cc = ''
bcc=','.join("" "on*@one.co m
tw*@two.com
th***@three.com
fo**@four.com
fi**@five.com"" ".splitlines())
addresses = ''

headers = 'TO=' + to + '&CC=' + cc + '&BCC=' + bcc
url = 'mailto:' + addresses + '?subject=' + subject + '&' + headers +
'&body=' + body
os.system('open ' + url)
Contact me off list if you would like a little code to help you even
more. I suspect there is a little bug in this code, but the idea is there.


Adam Lanier wrote:
On Wed, 2007-10-24 at 16:54 +0000, chris wrote:
>I need to maintain a list of subscribers to an email list for a
"newsletter " that will be sent via a web form probably once a month.
I anticipate low numbers--tens to maybe one hundred subscribers at the
most. Just curious what the best way to code this is. Should I just
loop through the addresses and send one-off emails to each, or is it
better to somehow send to every recipient in one shot? One thing I
would like to avoid in the latter scenario is each recipient being
able to see the entire list of recipients. Also don't want to trigger
any kind of spam thing on my web host by sending out too many emails.

Anyway, any tips appreciated.

Thanks,
Chris


Before you reinvent the wheel, you should look into using a mailing list
manager, Mailman for example:

http://www.gnu.org/software/mailman/index.html

Regardless, confirmed double-opt-in should be a requirement as should a
mechanism for subscribers to unsubscribe themselves.

Using a 'list address' as the from address and using bcc addressing will
prevent your recipients from being able to see all the other recipient
addresses.


--
Shane Geiger
IT Director
National Council on Economic Education
sg*****@ncee.ne t | 402-438-8958 | http://www.ncee.net

Leading the Campaign for Economic and Financial Literacy
Oct 25 '07 #3
On Wed, 24 Oct 2007 23:08:14 -0500, Shane Geiger wrote:
A mailing list manager is really overkill for what he is trying to do
*IF* he is not maintaining a discussion list.
It's not overkill at all. Mailman is easy to install (at least on a Red
Hat based Linux system, your mileage may vary elsewhere) and easy to use
*and* for bonus marks it's written in Python.

A "newsletter " list
doesn't sound like a discussion list, especially since he wants to hide
the email addresses of the other people.
There's more to running a mailing list than just sending emails. How do
you handle archives, the invariable complaints of missing newsletters,
requests for subscriptions, unsubscriptions , and temporary "I'll be on
holiday for a month, don't email me until I return" requests? And even if
it is not a discussion list, people expect to be able to write back to
the author/editor of the newsletter.

--
Steven.
Oct 25 '07 #4
On Thu, Oct 25, 2007 at 04:47:51AM -0000, Steven D'Aprano wrote:
On Wed, 24 Oct 2007 23:08:14 -0500, Shane Geiger wrote:
A mailing list manager is really overkill for what he is trying to do
*IF* he is not maintaining a discussion list.
It's not overkill at all. Mailman is easy to install (at least on a Red
Hat based Linux system, your mileage may vary elsewhere) and easy to use
*and* for bonus marks it's written in Python.
There's very little that Mailman is not overkill for. Running as a
daemon and managing its own queue is completely unneccessary; that's
what the MTA is for.

Enemies of Carlotta is also written in Python, except it's written sanely.

http://liw.iki.fi/liw/eoc/ or 'enemies-of-carlotta' in Debian.

Alternatively, SmartList is written as a set of procmail filters;
available from http://procmail.org/ or 'smartlist' in Debian.
A "newsletter " list
doesn't sound like a discussion list, especially since he wants to hide
the email addresses of the other people.
There's more to running a mailing list than just sending emails. How do
you handle archives, the invariable complaints of missing newsletters,
requests for subscriptions, unsubscriptions , and temporary "I'll be on
holiday for a month, don't email me until I return" requests? And even if
it is not a discussion list, people expect to be able to write back to
the author/editor of the newsletter.
Being able to reply to the author/editor is something that has been
possible via email for 25+ years. You don't need a mailing list
manager for it.

--
Benjamin A'Lee :: bm*@subvert.org .uk
http://subvert.org.uk/~bma/
"It is forbidden to kill; therefore all murderers are punished unless they kill
in large numbers and to the sound of trumpets." - Voltaire

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.4 (FreeBSD)

iD8DBQFHIJEKEUZ DNrttL6ARApUwAJ 9ZLuqZVvfLuuNTI m/EI1BUFgLh/gCfeMy2
tezYKLBc2bKz0mv 4i0YEQEI=
=SYFo
-----END PGP SIGNATURE-----

Oct 25 '07 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
4800
by: Thom McGrath | last post by:
I'm writing a simple mailing list program, and I would like to know what the suggested method of sending a large number of emails to a list of addresses. (sounds like spam, no?) It's perfectly legit, it's just an opt-in mailing. I have a feeling that using a 'while' loop with repeated calls to mail() is not the best practice. Is there...
11
12045
by: Google Mike | last post by:
I've got RH9 Linux with default PHP. Is there a way to send email on Linux to an Exchange Server from PHP and/or other tools when there is *NOT* SMTP access? Has anyone figured out a way to use PHP to get inside an OWA (Microsoft Outlook Web Access) website to send email that way? The reason I ask is because my corporate office is going...
11
9217
by: DrUg13 | last post by:
In java, this seems so easy. You need a new object Object test = new Object() gives me exactly what I want. could someone please help me understand the different ways to do the same thing in C++. I find my self sometimes, trying Object app = Object(); Object *app = Object(); Object app = new Object();
4
9418
by: jas | last post by:
I have a basic client/server socket situation setup....where the server accepts a connection and then waits for commands. On the client side, I create a socket, connect to the server...then I pass the socket to a class which just reads from the socket (in a thread). class Reader(Thread): def run(self): while 1:
2
3408
by: sstevens | last post by:
Does anyone have suggesstions for ASP.NET deployment best practices. This is in the context of a large organization where developers do not have admin access to web servers. The idea of buliding msi packages for each deploy seems difficult to implement because the server admins do not have the time to constantly be running msi's and moving...
1
2238
by: Phill. W | last post by:
Have Our Friends in Redmond put delay loops into the SMTPMail.Send() method, or does it /really/ take almost a second to send a mail message? I've written a windows service that send emails. It was originally intended for /small/ volume, direct communication with our clients. Somebody, however, has decided they want to send a message to...
7
7636
by: Rich Milburn [MVP] | last post by:
Ok I am not a programmer, I copied some code and very painfully got it working in VB6. I can adjust the volume with waveOutSetVolume on winmm.dll. But I could not seem to be able to figure out how to adjust the master volume. I thought maybe if I upgraded this into VS2005 VB.Net then it might be a little easier. But now I am getting...
10
13389
by: rAinDeEr | last post by:
Hi, I am trying to create around 70 tablespaces for around 100 tables.. Am using DB2 UDB 8.2 in Linux environment... This is one i generated through Control centre.... CREATE REGULAR TABLESPACE SNCI001 IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 4096 MANAGED BY SYSTEM USING ('/db2home/db2inst1/dnci1d/user_tblspace')
2
2218
by: rn5a | last post by:
A Form has a select list which is populated from a MS-Access database table. The DB table from where the select list is populated has 2 columns - CountryID & CountryName. When the Form is posted, the option selected in the select list is inserted in another DB table wherein the column in which the value of the selected option will be populated...
0
7487
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main...
0
7680
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. ...
0
7934
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that...
1
7446
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For...
0
6003
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then...
0
3476
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in...
1
1908
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
1
1033
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
731
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.