Skip to content

Instantly share code, notes, and snippets.

@andyhasit
Created April 1, 2016 16:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save andyhasit/f14e40908ded5bab7dd27d1d91a9ba57 to your computer and use it in GitHub Desktop.
Save andyhasit/f14e40908ded5bab7dd27d1d91a9ba57 to your computer and use it in GitHub Desktop.
'''
Place this in a controller and call it, either by url or directly from code.
An email(or multiple) with the correct settings will be sent to the
test address.
'''
def test_mail():
bases = ['yourdomain.com', 'yourhosting.company.net']
prefixes = ['smtp.', 'mail.', '']
ports = [':25' ':465', ':993', ':587', '']
sender = 'someone@yourdomain.com'
login = 'someone@yourdomain.com:password'
send_test_to = 'probably.you@gmail.com'
count = 0
mail.settings.tls = True #Here so you can set to False if things fail?
for base in bases:
for prefix in prefixes:
for port in ports:
server = '{0}{1}{2}'.format(prefix, base, port)
msg = 'server: {0} login: {1}'.format(server, login)
# So you can correlate with error codes. Note some servers don't like print!
print msg
mail.settings.server = server
mail.settings.sender = sender
mail.settings.login = login
mail.send(to=[send_test_to],
subject='hello',
reply_to='us@example.com',
message=msg
)
count += 1
return dict(message="tried {0} combinations".format(count))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment