python如何调用一个链接网页,作为邮件的内容去发送呢?
本帖最后由 涛之雨 于 2023-7-21 11:26 编辑import smtplib
from email.mime.text importMIMEText
from email.header import Header
import requests
from bs4 import BeautifulSoup
def sead_email():
accout='**'
destination='**'
password='**'
# 获取百度页面的内容
response = requests.get("https://www.baidu.com/")
response.encoding = 'utf-8'
baidu_content = response.text
soup=BeautifulSoup(baidu_content,'html.parser')
body_content=str(soup.body)
#'''
#with open('www.baidu.com','r',encoding='utf8') as f:
# file_content=f.read()
# 将邮件内容设置为HTML格式
message = MIMEText(body_content, 'html', 'utf-8')
message['From']=Header(destination,'utf-8')
message['Subject']=Header('Python SMTP 测试','utf8')
print('准备发送')
try:
server = smtplib.SMTP_SSL("smtp.qiye.163.com",465)
print('已经连接正在登入')
server.login(accout,password)
print('账号登入成功')
server.sendmail(accout,destination,message.as_string())
print('succsesfully')
except Exception as e:
print('失败',str(e))
finally:
if server:
server.quit()
sead_email()
邮件内容是这样的,但是我想要的是百度页面完整的
写错主题了是python不是php{:1_937:} iframe 能行不呢? import smtplib
from email.mime.text import MIMEText
from email.header import Header
def send_email(subject, content):
# 邮件发送方邮箱地址
sender = '我的邮箱地址'
# 邮件接收方邮箱地址
receivers = ['收件邮箱地址1', '收件邮箱地址2']
# 创建一个带有内容和标题的邮件实例
message = MIMEText(content, 'plain', 'utf-8')
message['Subject'] = Header(subject, 'utf-8')
message['From'] = sender
message['To'] = ','.join(receivers)
# 登录SMTP服务器
smtpObj = smtplib.SMTP_SSL('smtp.qq.com', 465)
smtpObj.login(sender, '邮箱授权码')
# 发送邮件
smtpObj.sendmail(sender, receivers, message.as_string())
# 关闭连接
smtpObj.quit()
# 调用函数发送邮件
send_email('邮件标题', '邮件内容')
邮箱已开启SMTP服务,否则需要在邮箱的设置中开启。 帮你编辑了一下帖子,以后请自行编辑,帖子左下角有编辑按钮,代码块和插入图片等说明详情请在顶部菜单中查看帮助。
页面的HTML组件都是加载出来了,应该是css和js加载失败导致无法正常显示,
这是因为email的安全限制,应该无法解决(顶多布局一样,但是应该只能手动添加css,js应该无法在邮件里正常执行) 我来试一下 你请求到的页面应该是完整的,只是在邮箱内禁止了JavaScript脚本的执行,如果js可以在邮件里执行很容易被用作js注入攻击,这是出于安全策略的考虑。貌似无解,当前还没想到好的解决方式。 亡屿歌 发表于 2023-7-21 22:36
你请求到的页面应该是完整的,只是在邮箱内禁止了JavaScript脚本的执行,如果js可以在邮件里执行很容易被用 ...
如果拿下来的是html格式,放进去用webbrowser解析试试看能不能满足你的要求吧。 还是截个图发送邮件最方便,css,js这些渲染邮件不太会都允许的。 涛之雨 发表于 2023-7-21 11:31
帮你编辑了一下帖子,以后请自行编辑,帖子左下角有编辑按钮,代码块和插入图片等说明详情请在顶部菜单中查 ...
谢谢大佬
页:
[1]
2