I remember those old times when i didn’t know nothing about computer programming and i was a member of the organization of the National Meeting of students of physiotherapy and after a conference about physiotherapy and spine related problems. At that time when we had to send some hundreds or even thousands of emails for other students and professional on that field, we spent hours or even days.
One of the problems was that our email provider (Gmail) didn’t allow to send a single email for more than ‘x’ people or send more than ‘y’ emails a day,if you had exceeded the limit they would block your account for the next 24 hours. For that problem the solution is don’t use Gmail for what it isn’t intended for. There are plenty other services to do that.
The other problem was the use of large files, full of emails adresses that we had to split through many emails. For this one, here is a possible solution, a script that connects to a SMTP server and sends the message to every contact in the “.txt” file.
import smtplib from email.MIMEText import MIMEText def send_to_all(server,login,passwd,subject,msg, cfile): contacts=open(cfile, 'r') email=MIMEText(msg) email['Subject']=subject email['From']=login smtp=smtplib.SMTP(server, 465) #change for 587 if doesnt work smtp.ehlo() smtp.starttls() #comment this line if the server doesnt support TLS smtp.login(login,passwd) for item in contacts: smtp.sendmail(login,item,email.as_string()) smtp.close() def main(): #Asks the info to the user print "Server: " server=raw_input() print "Login: " login=raw_input() print "Password: " passwd=raw_input() print "Subject: " subject=raw_input() print "Message: " msg=raw_input() print "Contacts file: " cfile=raw_input() #sends the message to all contacts in the file send_to_all(server, login, passwd, subject, msg, cfile) return 0 if __name__ == '__main__': main()
With this script you can only send simple text messages, but it might be usefull for someone anyway.