Ich habe die folgende Frage gesehen, aber ich habe noch ein paar Zweifel.Problem beim Senden von E-Mails von einer Verteilung Mail-ID [Python]
Sending an email from a distribution list
Zum einen habe ich eine einzelne Mail-Konto sowie eine Verteilung-ID für eine Gruppe in einem bestimmten Mail-Server verwendet. Ich bin in der Lage, E-Mails von der Verteilungs-Mail-ID über Outlook zu senden, indem Sie einfach das Feld From
angeben. Es erfordert keine Authentifizierung.
Ich habe den folgenden Code unter Verwendung von E-Mails über mein persönliches Konto senden:
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import os
FROMADDR = "[email protected]"
GROUP_ADDR = ['[email protected]']
PASSWORD = 'foo'
TOADDR = ['[email protected]']
CCADDR = ['[email protected]']
# Create message container - the correct MIME type is multipart/alternative.
msg = MIMEMultipart('alternative')
msg['Subject'] = 'Test'
msg['From'] = FROMADDR
msg['To'] = ', '.join(TOADDR)
msg['Cc'] = ', '.join(CCADDR)
# Create the body of the message (an HTML version).
text = """Hi this is the body
"""
# Record the MIME types of both parts - text/plain and text/html.
body = MIMEText(text, 'plain')
# Attach parts into message container.
msg.attach(body)
# Send the message via local SMTP server.
s = smtplib.SMTP('server.com', 587)
s.set_debuglevel(1)
s.ehlo()
s.starttls()
s.login(FROMADDR, PASSWORD)
s.sendmail(FROMADDR, TOADDR, msg.as_string())
s.quit()
Die perfekt funktioniert gut. Da ich in der Lage bin, E-Mails von einer Verteiler-E-Mail-ID über Outlook (ohne Kennwort) zu senden, gibt es eine Möglichkeit, diesen Code so zu ändern, dass E-Mails über die Verteiler-ID gesendet werden? Ich habe versucht, den
s.ehlo()
s.starttls()
s.login(FROMADDR, PASSWORD)
Teil zu kommentieren, aber der Code gibt mir die folgende Fehlermeldung:
send: 'mail FROM:<[email protected]> size=393\r\n'
reply: b'530 5.7.1 Client was not authenticated\r\n'
reply: retcode (530); Msg: b'5.7.1 Client was not authenticated'
send: 'rset\r\n'
Traceback (most recent call last):
File "C:\Send_Mail_new.py", line 39, in <module>
s.sendmail(FROMADDR, TOADDR, msg.as_string())
File "C:\Python32\lib\smtplib.py", line 743, in sendmail
self.rset()
File "C:\Python32\lib\smtplib.py", line 471, in rset
return self.docmd("rset")
File "C:\Python32\lib\smtplib.py", line 395, in docmd
return self.getreply()
File "C:\Python32\lib\smtplib.py", line 371, in getreply
raise SMTPServerDisconnected("Connection unexpectedly closed")
smtplib.SMTPServerDisconnected: Connection unexpectedly closed
Würde mir jemand freundlicherweise hier helfen?
Danke ... Ich habe meinen Benutzernamen und mein Passwort für s.login() verwendet und die Verteilerliste als FROMADDR angegeben. Es funktionierte – Pulimon