python – 如何通过mailx和subprcoess发送邮件?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 如何通过mailx和subprcoess发送邮件?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1492字,纯文字阅读大概需要3分钟。
内容图文
![python – 如何通过mailx和subprcoess发送邮件?](/upload/InfoBanner/zyjiaocheng/807/a0be6fee771a41219e58a02107ca51ce.jpg)
我是EE,试图编写一个脚本来简化使用Python的文件检查.
出于某种原因,我们的IT不会让我访问我们的smtp服务器,并且只允许通过mailx发送邮件.
所以,我想过从Python运行mailx并发送它,就像它在我的控制台中工作一样.唉,它给出了一个例外.请参阅下面的Linux日志:
***/depot/Python-3.1.1/bin/python3.1
Python 3.1.1 (r311:74480, Dec 8 2009, 22:48:08)
[GCC 3.3.3 (SuSE Linux)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import subprocess
>>> process=subprocess.Popen('echo "This is a test\nHave a loook see\n" | mailx -s "Test Python" mymail@mycomopany.com')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/depot/Python-3.1.1/lib/python3.1/subprocess.py", line 646, in __init__
errread, errwrite)
File "/depot/Python-3.1.1/lib/python3.1/subprocess.py", line 1146, in _execute_child
raise child_exception***
我是Python的新手(现在从PERL迁移).有什么想法吗?
解决方法:
你可以使用smtplib
import smtplib
# email options
SERVER = "localhost"
FROM = "root@example.com"
TO = ["root"]
SUBJECT = "Alert!"
TEXT = "This message was sent with Python's smtplib."
message = """From: %s
To: %s
Subject: %s
%s
""" % (FROM, ", ".join(TO), SUBJECT, TEXT)
server = smtplib.SMTP(SERVER)
server.set_debuglevel(3)
server.sendmail(FROM, TO, message)
server.quit()
如果你真的想使用子进程(我建议反对)
import subprocess
import sys
cmd="""echo "test" | mailx -s 'test!' root"""
p=subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
output, errors = p.communicate()
print errors,output
内容总结
以上是互联网集市为您收集整理的python – 如何通过mailx和subprcoess发送邮件?全部内容,希望文章能够帮你解决python – 如何通过mailx和subprcoess发送邮件?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。