在一个项目中,执行了一个任务后却收不到设定的邮件,通过异常捕获发现,在发送邮件时报了以下错误:python
smtplib.SMTPDataError: (503, b'Error: need RCPT command')
复现异常web
>>> cc_email = ['None'] >>> send_email(subject=subject, content=content, domain=domain, to_email=to_email, cc_email=cc_email) Traceback (most recent call last): File "<console>", line 1, in <module> File "/data/web/scripts/py/custom_send_email.py", line 43, in send_email msg.send() File "/usr/local/lib/python3.7/site-packages/django/core/mail/message.py", line 294, in send return self.get_connection(fail_silently).send_messages([self]) File "/usr/local/lib/python3.7/site-packages/django/core/mail/backends/smtp.py", line 110, in send_messages sent = self._send(message) File "/usr/local/lib/python3.7/site-packages/django/core/mail/backends/smtp.py", line 126, in _send self.connection.sendmail(from_email, recipients, message.as_bytes(linesep='\r\n')) File "/usr/local/lib/python3.7/smtplib.py", line 882, in sendmail (code, resp) = self.data(msg) File "/usr/local/lib/python3.7/smtplib.py", line 560, in data raise SMTPDataError(code, repl) smtplib.SMTPDataError: (503, b'Error: need RCPT command')
后排查代码,原来是在获取抄送邮箱时获取了一个包含"None"的列表。django
解决办法:bash
将cc_email = ['None'] 修改成 cc_email = None 或者 cc_email = []便可。dom