from email.mime.text import mimetext
from smtplib import smtp
defsend_email
(self,text)
:'''
傳送郵件
:param text:
:return:
'''# 定義發件人
msg_from =
'******[email protected]'
# 授權碼
password =
'ndivp***xewagahi'
# 發件人
msg_to =
'*********@qq.com'
#收件人多個人用;分隔
# 主題
subject = text[0]
# 建立郵件物件
msg = mimetext(text[1]
,'plain'
,'utf-8'
) msg[
'from'
]= msg_from
msg[
'to'
]= msg_to
msg[
'subject'
]= subject
try:# 建立smtp物件(郵件傳輸協議)
smtp = smtp(
)# 連線qq伺服器
smtp.connect(
'smtp.qq.com',25
)# 登入
smtp.login(msg_from, password)
# 傳送
smtp.sendmail(msg_from,msg[
'to'
].split(
';')
,msg.as_string())
print
('傳送成功!'
) smtp.close(
)except exception as e:
print
('郵件傳送失敗!'
,e)
# -*- coding:utf-8 -*-
import requests
import random
from lxml import etree
import urllib
import os
from email.mime.text import mimetext
from smtplib import smtp
import schedule
import time
class
sleepstory
(object):
def__init__
(self, url)
: self.url = self.init_url(url)
definit_url
(self, url)
:'''
確定爬取的頁數(生成隨機數)
:rtype: object
:param url:
:return:
'''page = random.randint(0,
71)if page ==0:
return url.
format(''
)else
:return url.
format
('_'
+str
(page)
)def
get_xpath
(self, url)
: headers =
response = requests.get(url=url, headers=headers)
# etree.html(response.text) 構造了乙個xpath解析物件
return etree.html(response.content.decode(
'utf-8'))
defparse_story
(self, url)
:'''
獲取故事類容,傳送郵寄
:param url:
'''html = self.get_xpath(url)
story_name = html.xpath(
'//h1/text()')[
0]story_content = html.xpath(
'string(//div[@class="t_news_txt"])'
)# os.linesep 系統換行
self.send_email(
(story_name, story_content)
)def
send_email
(self,text)
:'''
傳送郵件
:param text:
:return:
'''# 定義發件人
msg_from =
'*********@qq.com'
# 授權碼
password =
'ndivpszxxewagahi'
# 發件人
msg_to =
'******[email protected]'
#收件人多個人用;分隔
# 主題
subject = text[0]
# 建立郵件物件
msg = mimetext(text[1]
,'plain'
,'utf-8'
) msg[
'from'
]= msg_from
msg[
'to'
]= msg_to
msg[
'subject'
]= subject
try:# 建立smtp物件(郵件傳輸協議)
smtp = smtp(
)# 連線qq伺服器
smtp.connect(
'smtp.qq.com',25
)# 登入
smtp.login(msg_from, password)
# 傳送
smtp.sendmail(msg_from,msg[
'to'
].split(
';')
,msg.as_string())
print
('傳送成功!'
) smtp.close(
)except exception as e:
print
('郵件傳送失敗->'
,e)def
parse
(self)
:# 先獲取該頁面的所有dd_list
html= self.get_xpath(self.url)
dd_list = html.xpath(
'//dl[@class="txt_box"]/dd'
)# 在從中重新取出s乙個
dd_choice = random.choice(dd_list)
# 獲取詳情頁連線
story_url = dd_choice.xpath(
'./a/@href')[
0]story_url = urllib.parse.urljoin(self.url,story_url)
self.parse_story(story_url)
defmain()
: base_url =
''schedule.every(
).day.at(
"21:00:00"
)# 每天21:00:00觸發
schedule.every(
).day.at(
"14:00:00"
) schedule.every(5)
# 每5秒觸發,用於除錯的
while
true
: schedule.run_pending(
) time.sleep(1)
if __name__ ==
'__main__'
: main(
)
python實現定時傳送郵件
import schedule import time import smtplib from smtplib import smtp ssl from email.mime.text import mimetext from email.mime.multipart import mimemult...
定時傳送郵件
香港那邊的公司的erp糸統是bs模式,由於對方公司伺服器環境條件與解決方案要簡單的限制,我和我師傅決定用第三種方法。在程式設計之前,先介紹一下global.asax檔案裡的幾個方法。protected void protected void 下面是具體的做法 protected void new t...
delphi郵件定時傳送
unit smtp inte ce uses windows,messages,sysutils,variants,classes,graphics,controls,forms,dialogs,stdctrls,idbasecomponent,idcomponent,idtcpconnection...