相关疑难解决方法(0)

如何使用Python以Gmail作为提供商发送电子邮件?

我正在尝试使用python发送电子邮件(Gmail),但我收到以下错误.

Traceback (most recent call last):  
File "emailSend.py", line 14, in <module>  
server.login(username,password)  
File "/usr/lib/python2.5/smtplib.py", line 554, in login  
raise SMTPException("SMTP AUTH extension not supported by server.")  
smtplib.SMTPException: SMTP AUTH extension not supported by server.
Run Code Online (Sandbox Code Playgroud)

Python脚本如下.

import smtplib
fromaddr = 'user_me@gmail.com'
toaddrs  = 'user_you@gmail.com'
msg = 'Why,Oh why!'
username = 'user_me@gmail.com'
password = 'pwd'
server = smtplib.SMTP('smtp.gmail.com:587')
server.starttls()
server.login(username,password)
server.sendmail(fromaddr, toaddrs, msg)
server.quit()
Run Code Online (Sandbox Code Playgroud)

python email gmail smtp

272
推荐指数
10
解决办法
31万
查看次数

使用SMTP从Python发送邮件

我正在使用以下方法使用SMTP从Python发送邮件.这是正确的使用方法还是我遗失了?

from smtplib import SMTP
import datetime

debuglevel = 0

smtp = SMTP()
smtp.set_debuglevel(debuglevel)
smtp.connect('YOUR.MAIL.SERVER', 26)
smtp.login('USERNAME@DOMAIN', 'PASSWORD')

from_addr = "John Doe <john@doe.net>"
to_addr = "foo@bar.com"

subj = "hello"
date = datetime.datetime.now().strftime( "%d/%m/%Y %H:%M" )

message_text = "Hello\nThis is a mail from your server\n\nBye\n"

msg = "From: %s\nTo: %s\nSubject: %s\nDate: %s\n\n%s" 
        % ( from_addr, to_addr, subj, date, message_text )

smtp.sendmail(from_addr, to_addr, msg)
smtp.quit()
Run Code Online (Sandbox Code Playgroud)

python smtp

107
推荐指数
7
解决办法
19万
查看次数

通过Python发送Outlook电子邮件?

我在用Outlook 2003.

发送电子邮件(通过Outlook 2003)使用的最佳方式是什么Python

python outlook

54
推荐指数
7
解决办法
15万
查看次数

Google 政策更新后不允许仅使用用户名和密码,如何使用 python 发送电子邮件?

我正在尝试学习如何使用 python 发送电子邮件。我读过的所有网络教程都解释了如何使用 Gmail 进行操作。

但是,从 2022 年 5 月 30 日起(尽管每个人都可以自由地使用自己的帐户做任何他想做的事情),Google 制定了一项新政策,规定:

为了确保您的帐户安全,从 2022 年 5 月 30 日开始,Google 将不再支持使用仅要求您提供用户名和密码的第三方应用或设备。登录您的 Google 帐户。

来源: https: //support.google.com/accounts/answer/6010255

我们得到: 在此输入图像描述

所以我的问题是有没有其他方法可以使用 python 发送电子邮件(包括属于其他公司的电子邮件帐户)?

这是我发送电子邮件的功能:

def send_email_fct(filename, filepath, fromaddr, mdpfrom, toaddr):
"""" filename: file name to be sent with extension
     filepath: file path of the file to be sent
     fromaddr: sender email address
     mdpfrom: password of sender email address
     toaddr: receiver email address"""

msg = MIMEMultipart()  # instance of MIMEMultipart
msg['From'] = fromaddr
msg['To'] …
Run Code Online (Sandbox Code Playgroud)

python email gmail smtplib

20
推荐指数
2
解决办法
2万
查看次数

Python 2:SMTPServerDisconnected:连接意外关闭

使用Python发送电子邮件时遇到一个小问题:

#me == my email address
#you == recipient's email address
me = "some.email@gmail.com"
you = "some_email2@gmail.com"

# Create message container - the correct MIME type is multipart/alternative.
msg = MIMEMultipart('alternative')
msg['Subject'] = "Alert"
msg['From'] = me
msg['To'] = you

# Create the body of the message (a plain-text and an HTML version).
html = '<html><body><p>Hi, I have the following alerts for you!</p></body></html>'

# Record the MIME types of both parts - text/plain and text/html.
part2 = MIMEText(html, 'html')

# …
Run Code Online (Sandbox Code Playgroud)

python email smtp python-2.7

17
推荐指数
3
解决办法
5万
查看次数

从(Python)代码实际发送邮件的正确方法是什么?

免责声明:由于这个问题的广泛性(见下文;-),我对标题犹豫不决,其他选项包括:

  • 如何使用Python代码从localhost发送邮件?
  • 如何在不使用外部SMTP服务器的情况下从Python代码发送电子邮件?
  • 是否可以使用localhost和Python直接向其目的地发送电子邮件?

首先,一点上下文:
为了学习,我正在构建一个具有用户注册功能的网站.这个想法是,注册后用户将收到一封带有激活链接的电子邮件.我想编写并发送来自Python代码的电子邮件,这是我想要求澄清的部分.


我的理解,在我开始之前(显然天真=)可以这样说明(假设有一个合法的电子邮件地址user@example.com):

我天真的理解

搜索的例子后,我碰上#1(的一些问题与解答1,2,3,4).从这些我已经提炼出以下片段,撰写并发送来自Python代码的电子邮件:

import smtplib

from email.message import EmailMessage

message = EmailMessage()
message.set_content('Message content here')
message['Subject'] = 'Your subject here'
message['From'] = 'me@example.com'
message['To'] = 'user@example.com'

smtp_server = smtplib.SMTP('smtp.server.address:587')
smtp_server.send_message(message)
smtp_server.quit()
Run Code Online (Sandbox Code Playgroud)

接下来(明显的)问题是要传递给什么smtplib.SMTP()而不是'smtp.server.address:587'.从评论到这个答案,我发现本地SMTP服务器(仅用于测试目的)可以通过python3 -m smtpd -c DebuggingServer -n localhost:1025,然后smtp_server = smtplib.SMTP('smtp.server.address:587')可以更改为,smtp_server = smtplib.SMTP('localhost:1025')并且所有已发送的电子邮件将显示在控制台中(从python3 -m smtpd -c DebuggingServer -n localhost:1025 …

python email networking gmail smtp

15
推荐指数
2
解决办法
1869
查看次数

Django发送电子邮件:SMTPServerDisconnected:连接意外关闭

您好我想发送电子邮件激活使用django registration redux.

这是我的setting.py

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

ACCOUNT_ACTIVATION_DAYS = 3
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'blahblah@gmail.com'
EMAIL_HOST_PASSWORD = 'blahpassword'
EMAIL_PORT = 465
EMAIL_USE_SSL = True

LOGIN_REDIRECT_URL = '/'
Run Code Online (Sandbox Code Playgroud)

当我尝试

python manage.py shell

来自django.core.mail导入send_mail

send_mail('测试','这是测试','youremail @ gmail.com',['toemail@gmail.com'])

我收到这样的错误:

    Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/home/apsijogja/djangogirls/myvenv/local/lib/python2.7/site-packages/django/core/mail/__init__.py", line 62, in send_mail
    return mail.send()
  File "/home/apsijogja/djangogirls/myvenv/local/lib/python2.7/site-packages/django/core/mail/message.py", line 286, in send
    return self.get_connection(fail_silently).send_messages([self])
  File "/home/apsijogja/djangogirls/myvenv/local/lib/python2.7/site-packages/django/core/mail/backends/smtp.py", line 92, in send_messages
    new_conn_created = self.open()
  File "/home/apsijogja/djangogirls/myvenv/local/lib/python2.7/site-packages/django/core/mail/backends/smtp.py", line 50, in open
    self.connection …
Run Code Online (Sandbox Code Playgroud)

python email django

8
推荐指数
2
解决办法
2万
查看次数

通过 Python 电子邮件库发送电子邮件会引发错误“预期字符串或类似字节的对象”

我正在尝试通过 python 3.6 中的一个简单函数将 csv 文件作为附件发送。

from email.message import Message
from email.mime.base import MIMEBase
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

def email():


    msg = MIMEMultipart()
    msg['Subject'] = 'test'
    msg['From'] = 'test@gmail.com'
    msg['To'] = 'testee@gmail.com'
    msg.preamble = 'preamble'

    with open("test.csv") as fp:
        record = MIMEText(fp.read())
        msg.attach(record)

    server = smtplib.SMTP('smtp.gmail.com', 587)
    server.ehlo()
    server.starttls()
    server.login("test@gmail.com", "password")
    server.sendmail("test@gmail.com", "testee@gmail.com", msg)
    server.quit()
Run Code Online (Sandbox Code Playgroud)

调用email()产生错误expected string or bytes-like object。重新定义server.sendmail("test@gmail.com", "testee@gmail.com", msg)server.sendmail("atest@gmail.com", "testee@gmail.com", msg.as_string()) 会导致发送电子邮件,但会在电子邮件正文中发送 csv 文件,而不是作为附件发送。谁能给我一些关于如何将 csv 文件作为附件发送的提示?

python csv email smtplib python-3.x

8
推荐指数
1
解决办法
4472
查看次数

如何使用Python发送邮件

我想用python发送一个简单的邮件

import smtplib

server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.login("mymail@gmail.com", "mypassword")

msg = "Hello world"
server.sendmail("mymail@gmail.com", "mymail@gmail.com", msg)
server.quit()
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

server.login("user@gmail.com", "psw")

File "C:\Python\lib\smtplib.py", line 652, in login

raise SMTPAuthenticationError(code, resp)

smtplib.SMTPAuthenticationError: (534, b'5.7.14 <https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbuxb\n5.7.14 4i2u8qU8V3jgf6uGv8da1RAGPJyctRvIFy_kjai6aKVx_B6qVhoz_dzFpvfPC18H-jeM6K\n5.7.14 cnm2HVuq-wr-uw59hD31ms-cxMmnZuq6Z3_liDaDmu8_UqaiUwR4FUiuX2i5pPdQjJzFvv\n5.7.14 4VrEF5XT4ol2iN17gnB_jITpwzsjH9Ox3NCNcfl7SriHr5m7esc15PWI0CG_2CTlyh7RxW\n5.7.14 XhoJPajs8GMd-khOQWUqucywfrfo> Please log in via your web browser and\n5.7.14 then try again.\n5.7.14 Learn more at\n5.7.14 https://support.google.com/mail/bin/answer.py?answer=78754 ef10sm13614207wjd.49 - gsmtp')
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

谢谢

python gmail python-3.x

6
推荐指数
1
解决办法
3089
查看次数

在 Python 中使用的高级邮件

我正在尝试用 Python 发送一封带有自定义收件人、主题和正文的电子邮件。这意味着我不想使用Python 的 smtp 包,而是使用webbrowser 之类的东西,因为我需要它来打开带有上述参数的默认电子邮件客户端(在我的情况下为 Thunderbird)。

import webbrowser
webbrowser.open("mailto:?to=aaa@email.com&subject=mysubject", new=1)
Run Code Online (Sandbox Code Playgroud)

工作,但我需要它从我之前找到的字符串和我之前创建的文本文件中的正文中获取收件人。

有没有我找不到的“简单”方法来做到这一点?提前致谢。

python email python-2.7 python-webbrowser

6
推荐指数
1
解决办法
4675
查看次数