欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python基于exchange函數(shù)發(fā)送郵件過(guò)程詳解

 更新時(shí)間:2020年11月06日 10:40:35   作者:shuzihua  
這篇文章主要介紹了python基于exchange函數(shù)發(fā)送郵件過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

1.Python hasattr() 函數(shù)

描述

hasattr() 函數(shù)用于判斷對(duì)象是否包含對(duì)應(yīng)的屬性。

語(yǔ)法

hasattr 語(yǔ)法:

hasattr(object, name)

參數(shù)

  • object -- 對(duì)象。
  • name -- 字符串,屬性名。

返回值

如果對(duì)象有該屬性返回 True,否則返回 False。

實(shí)例

以下實(shí)例展示了 hasattr 的使用方法:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
class Coordinate:
  x = 10
  y = -5
  z = 0
point1 = Coordinate()
print(hasattr(point1, 'x'))
print(hasattr(point1, 'y'))
print(hasattr(point1, 'z'))
print(hasattr(point1, 'no')) # 沒有該屬性

輸出結(jié)果:

  True
  True
  True
  False

打包.ui文件:

C:\Python27\Lib\site-packages\PyQt4>pyuic4 E:\pyDemo\proTools.ui -o proTools.py

Qt 代碼是面向?qū)ο蟮?,并且?jiǎn)單易學(xué)。所有我們添加的組件都是一個(gè)對(duì)象,并且都擁有自己的方法比如toPlainText()(用來(lái)讀取輸入框中的值)。這讓它使用起來(lái)非常方便。

代碼打包:C:\Python27\Scripts>python pyinstaller-script.py -w E:\pyDemo\PyQt\testPyQt.py testPyQt.spec

-F 帶黑窗口 (打包成單個(gè)exe)

-W 不帶黑窗口(打包成文件形式)

-i 加圖標(biāo)

pyinstaller -i D:\ALIX_SH\2carReport\yx.ico -W D:\ALIX_SH\2carReport\upload2carReport.py

-F -w 打包成exe,但不帶黑窗口

pyinstaller -i D:\ALIX_SH\2carReport\yx.ico -F -w D:\ALIX_SH\2carReport\upload2carReport.py

下面用Pyinstaller生成一個(gè)可執(zhí)行文件試試。

在命令提示符中去到要打包的目錄;直接輸入"pyinstaller -F -w 文件名.py(F大寫);文件目錄出現(xiàn)新的文件夾,里面就是打包好的exe文件了;

  • -F, -onefile:打包成一個(gè)exe文件
  • -w, -windowed:使用窗口,無(wú)控制臺(tái)
  • -c, -console:無(wú)窗口,使用控制臺(tái)
  • -D, -onedir:創(chuàng)建一個(gè)目錄,包含exe文件,但會(huì)依賴其他文件
  • --icon=圖標(biāo)路徑

可以通過(guò)"Pyinstaller -h"來(lái)查看

Python發(fā)郵件的代碼如下:

只需要填寫好加粗字體,即可正常使用。

from exchangelib import DELEGATE, Account, Credentials, Message, Mailbox, HTMLBody

def Email(to, subject, body):
  creds = Credentials(
    username='xxxxxx',
    password='xxxxxx'
  )
  account = Account(
    primary_smtp_address='xxx@xxx.com',
    credentials=creds,
    autodiscover=True,
    access_type=DELEGATE
  )
  m = Message(
    account=account,
    subject=subject,
    body=HTMLBody(body),
    to_recipients = [Mailbox(email_address=to)]
  )
  m.send()

Email("xxx@xxx.com", "abc", "def")

但是如果Python環(huán)境安裝有瑕疵,則報(bào)錯(cuò)如下:

$python3 ab.py
Traceback (most recent call last):
 File "ab.py", line 22, in <module>
  Email("xxx@xxx.com", "abc", "def")
 File "ab.py", line 12, in Email
  access_type=DELEGATE
 File "/usr/local/lib/python3.5/site-packages/exchangelib/account.py", line 66, in __init__
  credentials=credentials)
 File "/usr/local/lib/python3.5/site-packages/exchangelib/autodiscover.py", line 214, in discover
  email=email)
 File "/usr/local/lib/python3.5/site-packages/exchangelib/autodiscover.py", line 236, in _try_autodiscover
  return _try_autodiscover(e.server, credentials, email)
 File "/usr/local/lib/python3.5/site-packages/exchangelib/autodiscover.py", line 262, in _try_autodiscover
  raise_from(AutoDiscoverFailed('All steps in the autodiscover protocol failed'), None)
 File "/usr/local/lib/python3.5/site-packages/future/utils/__init__.py", line 398, in raise_from
  exec(execstr, myglobals, mylocals)
 File "<string>", line 1, in <module>
exchangelib.errors.AutoDiscoverFailed: All steps in the autodiscover protocol failed

好在我有臺(tái)機(jī)器安裝Python3.5.2正常,執(zhí)行上述完全沒有問題。

今天終于搞定?。。?2017-12-11

exchange的版本不對(duì),

我本機(jī)版本:

pip3 search exchangelib
exchangelib (1.10.6) - Client for Microsoft Exchange Web Services (EWS)
INSTALLED: 1.9.4
LATEST: 1.10.6

服務(wù)器版本為:

$pip3 search exchangelib
exchangelib (1.10.6) - Client for Microsoft Exchange Web Services (EWS)
INSTALLED: 1.10.4
LATEST: 1.10.6

要做的就是把服務(wù)器上的版本降低到1.9.4,就🆗了。

pip3 install exchangelib==1.9.4

再次執(zhí)行發(fā)郵件的操作,bingo,搞定!

1、首先下載一個(gè)神器exchangelib,操作 pip install exchangelib

2、然后只需要將下面的信息改成你的信息就可以了

from exchangelib import Account, Message, Mailbox, HTMLBody, ServiceAccount
#忽略警告
import urllib3
urllib3.disable_warnings()

#報(bào)錯(cuò)處理:ConnectionError: HTTPConnectionPool(host='mail.xxx.com', port=443): Max retries exceeded with url: 
# import socket
# socket.create_connection((host, port), timeout=10)

def Email(to, subject, body):
 creds = ServiceAccount(username='域\名', password='密碼')
 account = Account('發(fā)送的郵箱', credentials=creds, autodiscover=True)
 m = Message(account=account,subject=subject,body=HTMLBody(body),
to_recipients = [Mailbox(email_address=to)]
 )
 m.send()

Email("接收的郵箱", "郵件標(biāo)題", "郵件內(nèi)容")

安裝庫(kù)exchangelib

pip install exchangelib1

腳本內(nèi)容

# coding=utf-8
#
# Created on 2018/2/


from exchangelib import DELEGATE, Account, Credentials, Configuration, NTLM, Message, Mailbox, HTMLBody
from exchangelib.protocol import BaseProtocol, NoVerifyHTTPAdapter


#此句用來(lái)消除ssl證書錯(cuò)誤,exchange使用自簽證書需加上
BaseProtocol.HTTP_ADAPTER_CLS = NoVerifyHTTPAdapter


# 輸入你的域賬號(hào)如example\leo
cred = Credentials(r'EXAMPLE\leo', '輸入你的密碼')

config = Configuration(server='輸入郵箱服務(wù)器網(wǎng)頁(yè)地址', credentials=cred, auth_type=NTLM)
a = Account(
primary_smtp_address='輸入你要綁定的郵箱名(leo@example.com)', config=config, autodiscover=False, access_type=DELEGATE
)

# 此處為用來(lái)發(fā)送html格式郵件的文件路徑
with open(r'C:\Users\leo\Desktop\1.html') as f:
msg = f.read().decode('utf-8')

m = Message(
account=a,
folder=a.sent,
subject=u'測(cè)試郵件',
body=HTMLBody(msg),
to_recipients=[Mailbox(email_address='輸入你要綁定的郵箱名(leo@example.com)')]
)
m.send_and_save()

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python實(shí)現(xiàn)余弦相似度文本比較的示例

    python實(shí)現(xiàn)余弦相似度文本比較的示例

    這篇文章主要介紹了python實(shí)現(xiàn)余弦相似度文本比較的示例,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-05-05
  • pytorch中的named_parameters()和parameters()

    pytorch中的named_parameters()和parameters()

    這篇文章主要介紹了pytorch中的named_parameters()和parameters()使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Python實(shí)現(xiàn)將多張圖片合成視頻并加入背景音樂

    Python實(shí)現(xiàn)將多張圖片合成視頻并加入背景音樂

    這篇文章主要為大家介紹了如何利用Python實(shí)現(xiàn)將多張圖片合成mp4視頻,并加入背景音樂。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-04-04
  • jupyter默認(rèn)工作目錄的更改方法

    jupyter默認(rèn)工作目錄的更改方法

    jupyter notebook是一個(gè)以網(wǎng)頁(yè)形式來(lái)使用的python編輯器,很多小伙伴在第一次安裝它的時(shí)候選擇的都是默認(rèn)安裝,那么jupyter默認(rèn)工作目錄如何更改,本文就來(lái)介紹一下
    2023-08-08
  • 一文搞懂Python中列表List和元組Tuple的使用

    一文搞懂Python中列表List和元組Tuple的使用

    列表List 和 元組Tuple 可以說(shuō)是 Python 中最通用、最有用的數(shù)據(jù)類型。列表是動(dòng)態(tài)的,而元組具有靜態(tài)特征。本文將通過(guò)示例詳細(xì)講解二者的使用方法,需要的可以參考一下
    2022-04-04
  • Keras自動(dòng)下載的數(shù)據(jù)集/模型存放位置介紹

    Keras自動(dòng)下載的數(shù)據(jù)集/模型存放位置介紹

    這篇文章主要介紹了Keras自動(dòng)下載的數(shù)據(jù)集/模型存放位置介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • python numpy矩陣信息說(shuō)明,shape,size,dtype

    python numpy矩陣信息說(shuō)明,shape,size,dtype

    這篇文章主要介紹了python numpy矩陣信息說(shuō)明,shape,size,dtype,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-05-05
  • python類定義的講解

    python類定義的講解

    python是怎么定義類的,看了下面的文章大家就會(huì)了,不用多說(shuō),開始學(xué)習(xí)。
    2013-11-11
  • window環(huán)境pip切換國(guó)內(nèi)源(pip安裝異常緩慢的問題)

    window環(huán)境pip切換國(guó)內(nèi)源(pip安裝異常緩慢的問題)

    這篇文章主要介紹了window環(huán)境pip切換國(guó)內(nèi)源(pip安裝異常緩慢的問題),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 使用Python讀取Excel數(shù)據(jù)在PPT中創(chuàng)建圖表

    使用Python讀取Excel數(shù)據(jù)在PPT中創(chuàng)建圖表

    使用Python從Excel讀取數(shù)據(jù)并在PowerPoint幻燈片中創(chuàng)建圖表不僅能夠極大地簡(jiǎn)化圖表創(chuàng)建過(guò)程,通過(guò)Python這一橋梁,我們可以輕松實(shí)現(xiàn)數(shù)據(jù)自動(dòng)化處理和圖表生成,本文將演示如何使用Python讀取Excel數(shù)據(jù)在PPT中創(chuàng)建圖表,需要的朋友可以參考下
    2024-08-08

最新評(píng)論