Python使用gmail从不同的地址发送电子邮件

时间:2012-06-25 16:39:23

标签: php python email smtp

我正在努力使电子邮件看起来像来自我们公司内的特定用户,以获取自动客户端后续电子邮件。出于某种原因,我无法将“FROM”更改为除了我登录gmail的帐户之外的任何人。

我知道PHP邮件程序库可以从任何人那里获取FROM地址而没有任何问题 - 但由于某些原因我不能在python中。如果有帮助,我们有一个企业Gmail帐户。

以下是我正在使用的代码

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.MIMEImage import MIMEImage

def sendFollowupEmail(html):
  msg = MimeText('body')
  msg['Subject'] = 'subject'
  msg['From'] = "THIS IS THE EMAIL I WANT TO CHANGE@domain.com"
  msg['To'] = "client@client.com"




  username = 'accessaccount@gmail.com'
  password = 'password'
  server = smtplib.SMTP('smtp.gmail.com:587')
  server.starttls()
  server.login(username,password)  
  server.sendmail(me, you, msg.as_string())
  server.quit()    








  if __name__ == '__main__':
    sendFollowupEmail("test123")

这是允许您从地址更改为任何内容的PHP

function sendFollowUpEmail($options) {

        /*
         * Send an email to a person or group.
         * Dependencies: PHPMailer
         * options: {
         *      'to' -> who to send the email to,
         *      'from'-> who the email was sent from,
         *      'subject'-> subject of the email,
         *      'body' -> the body of the email
         * }
         */
        $host = 'smtp.gmail.com';
        $username = "accessaccount@gmail.com";
        $password = "password";
        $port = 465;
        echo error_reporting(E_STRICT);

        require_once('PHPMailer/class.phpmailer.php');
        $mail = new PHPMailer();
        $body = $options['body'];

        $mail->IsSMTP();
        $mail->IsHTML(true);

        $mail->SMTPAuth = true;
        $mail->SMTPSecure = "ssl"; 
        $mail->Host = $host; 
        $mail->Port = $port;
        $mail->Username = $username; 
        $mail->Password = $password;
        $mail->SetFrom($options['from'], $options['from']);

        if($options['bcc']!='') {
            $mail->AddBCC($options['bcc'], $options['bcc']);
        }

        //$mail->AddReplyTo("name@yourdomain.com","First Last");
        $mail->Subject = $options['subject'];
        $mail->AltBody = "To view the message, please use an HTML compatible email viewer!";
        $mail->MsgHTML($body);
        $address = $options['to'];
        $mail->AddAddress($address);
        $mail->send();

1 个答案:

答案 0 :(得分:5)

添加到msg

msg['Reply-To'] = "THIS IS THE EMAIL I WANT TO CHANGE@domain.com"

修改

您可以做的一件事是在Gmail中的 帐户和导入 中添加回复电子邮件。并选择它不作为别名。这将允许您从主帐户发送电子邮件作为另一个帐户。使用其他帐户的发件人地址