I need to relay an email received to an SMTP server to multiple other emails. I would like to keep all the original content, header, from email and ip address. Is this possible and what service or open source software can I use for this? I'd like to have an API option, don't care about spam filter or anything else, I only need a simple relay/redirect.
Example:
Email A from SenderA is sent to SenderB (SMTP Proxy)
SenderB (SMTP Proxy) redirects email to SenderC and SenderD
Related
we have a GAE email receiver, which is able to receive email from specific IP, now our we want to emails from this IP only , and reject others ip.
we use GAE-firewall to set deny all but only allow this ip, but it does not work. I set deny all ip as default(the default rule),then set allow rule for specific IP with priority, I could use browser to access this app-engine instance, but firewall rejects all coming emails, include the my laptop which I can access this app-engine instance by browser, how should I config that to achieve receive email from specific IP only?
the seting is:
priority for specific ip is "1",
priority for deny all is "default",sorry for the image not shown
I want to write code in python that sending email from gmail to gmail, after I searched the internet I saw that there is SMTP library and it using SMTP protocol.
I know that Gmail using HTTP and not SMTP.
Why we need to use SMTP protocol to send email from Gmail(HTTP) to another Gmail(Http)?
I am currently trying to send emails via smtplib with the following code:
import smtplib
import email.utils
from email.mime.text import MIMEText
smtpserver = smtplib.SMTP("smtp.gmail.com",587)
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.ehlo()
smtpserver.login('username#gmail.com', 'pwd')
msg['Subject'] = "subject line"
msg['From'] = 'newusername#gmail.com'
msg['To'] = 'friend#gmail.com'
smtpserver.sendmail(sender, recipients, msg.as_string())
When I do something like this, instead of the recipient getting an email from newusername#gmail.com, they get it from username#gmail.com, which was the email I used for authentication.
Is there a way to change this?
This is an intentional security feature in gmail, and other public mail servers, called SMTP AUTH.
Without this feature, anyone with a gmail address could send mail impersonating anyone else with a gmail address. I could send a message claiming to be from you, and the recipient would have no way of knowing it wasn't from you, and you'd have no way to prove it wasn't from you.
But it wouldn't matter anyway, because spammers would be sending so much more email with your address than you do that email addresses would be effectively meaningless, and the whole email system would fall apart. Which is what almost happened in the late 90s. Only a concerted campaign to require SMTP AUTH on all open submission servers, including blacklisting all mail from servers that didn't comply (even the ones that used POP-before-SMTP, IMAP-before-SMTP, IP/MAC verification, or other alternatives to SMTP AUTH) managed to keep the spammers from ruining everything.
Later, another security/anti-spam measure, called DKIM, was added, which gmail also uses: most servers will throw out any messages that isn't signed by the originating server, indicating that the server trusts that the message came from who it says it came from. Obviously, gmail isn't going to certify that a message came from newusername when it actually came from username.1 And, if they did, people who administer other servers would just blacklist gmail signatures are meaningless.
1. Unless they have some reason to trust that username has the right to send mail as newusername—corporate mail servers sometimes do have a feature like that, allowing you to configure things so, e.g., a secretary can send mail from his boss's address without having his boss's password.
I made a simple keylogger in C++. I want to send an email with the input the keylogger made using Python. I know you can do it with C++ but I want to use Python.
You I hope that your keylogger is for educational purposes only. Anyway,
here is a simple way to send one e-mail using Python script.
#!/usr/bin/python
import smtplib
sender = 'from#fromdomain.com'
receivers = ['to#todomain.com']
message = """From: From Person <from#fromdomain.com>
To: To Person <to#todomain.com>
Subject: SMTP e-mail test
This is a test e-mail message.
"""
try:
smtpObj = smtplib.SMTP('localhost')
smtpObj.sendmail(sender, receivers, message)
print "Successfully sent email"
except SMTPException:
print "Error: unable to send email"
Here, you have placed a basic e-mail in message, using a triple quote, taking care to format the headers correctly. An e-mail requires a From, To, and Subject header, separated from the body of the e-mail with a blank line.
To send the mail you use smtpObj to connect to the SMTP server on the local machine and then use the sendmail method along with the message, the from address, and the destination address as parameters (even though the from and to addresses are within the e-mail itself, these aren't always used to route mail).
If you're not running an SMTP server on your local machine, you can use smtplib client to communicate with a remote SMTP server. Unless you're using a webmail service (such as Hotmail or Yahoo! Mail), your e-mail provider will have provided you with outgoing mail server details that you can supply them, as follows:
smtplib.SMTP('mail.your-domain.com', 25)
Source: http://www.tutorialspoint.com/python/python_sending_email.htm
I am developing my first website. I have page where people can leave message to me. What I am doing is sending a AJAX call to the server, and the server gets the content of the message, then login in an gmail account and send the message to another gmail account using python's email libraries smtplib and email.
It works ok, but the problem is it takes more than one minute on my laptop, the loading image on the client side would keep spinning during the time. I think the bottleneck is login().
mailServer = smtplib.SMTP("smtp.gmail.com", 587)
mailServer.ehlo()
mailServer.starttls()
mailServer.ehlo()
# login, send email, logout
mailServer.login(conf.user, conf.pw)
mailServer.sendmail(conf.user, to, msg.as_string())
mailServer.close()
So is there any way to speed this up, or other ways to do this.
Thanks
So the delay is probably caused by Google's SMTP server as they do a reverse lookup of the IP address of your webserver - mail systems often do this as part of sending e-mail.
What you have coded is only needed if you intended to send mail out from your account - that is when you need to perform authenticated SMTP. If you want to only mail your own account then you can remove the login step. Note, that you will have to change the mail server from smtp.gmail.com to one of Google's inbound mail (MX) servers. Also, if you are performing a simple forward you will have to handle e-mail rejection or other connection problems so having your script dump the mail to a simple mail server running on the mail server would be helpful.