吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 790|回复: 10
收起左侧

[求助] python如何调用一个链接网页,作为邮件的内容去发送呢?

  [复制链接]
ranranxiaowanzi 发表于 2023-7-21 09:27
本帖最后由 涛之雨 于 2023-7-21 11:26 编辑

[Python] 纯文本查看 复制代码
import smtplib
from email.mime.text import  MIMEText
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()


邮件内容是这样的,但是我想要的是百度页面完整的


图片.png

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
vinson2023 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| ranranxiaowanzi 发表于 2023-7-21 09:31
写错主题了是python不是php
qingsoft 发表于 2023-7-21 11:23
StockGeek 发表于 2023-7-21 11:24
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服务,否则需要在邮箱的设置中开启。
涛之雨 发表于 2023-7-21 11:31
帮你编辑了一下帖子,以后请自行编辑,帖子左下角有编辑按钮,代码块和插入图片等说明详情请在顶部菜单中查看帮助。

页面的HTML组件都是加载出来了,应该是css和js加载失败导致无法正常显示,

这是因为email的安全限制,应该无法解决(顶多布局一样,但是应该只能手动添加css,js应该无法在邮件里正常执行)
daniel7785 发表于 2023-7-21 12:05
我来试一下
亡屿歌 发表于 2023-7-21 22:36
你请求到的页面应该是完整的,只是在邮箱内禁止了JavaScript脚本的执行,如果js可以在邮件里执行很容易被用作js注入攻击,这是出于安全策略的考虑。貌似无解,当前还没想到好的解决方式。
亡屿歌 发表于 2023-7-21 22:53
亡屿歌 发表于 2023-7-21 22:36
你请求到的页面应该是完整的,只是在邮箱内禁止了JavaScript脚本的执行,如果js可以在邮件里执行很容易被用 ...

如果拿下来的是html格式,放进去用webbrowser解析试试看能不能满足你的要求吧。
whh19921024 发表于 2023-7-22 22:12
还是截个图发送邮件最方便,css,js这些渲染邮件不太会都允许的。
 楼主| ranranxiaowanzi 发表于 2023-7-24 11:45
涛之雨 发表于 2023-7-21 11:31
帮你编辑了一下帖子,以后请自行编辑,帖子左下角有编辑按钮,代码块和插入图片等说明详情请在顶部菜单中查 ...

谢谢大佬
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 22:06

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表