python**
import smtplib
from email.mime.text import mimetext
from email.header import header
def sendemail(addr,content):
# 第三方 smtp 服務
mail_host="smtp.sina.com" #設定伺服器
mail_user="[email protected]" #使用者名稱
mail_pass="*******" #密碼
sender = '[email protected]'
receivers = [str(addr)] # 接收郵件,可設定為你的qq郵箱或者其他郵箱
message = mimetext(content, 'plain', 'utf-8')
subject = 'mr.hlw 郵件'
message['subject'] = header(subject, 'utf-8')
try:
smtpobj = smtplib.smtp()
smtpobj.connect(mail_host, 25) # 25 為 smtp 埠號
smtpobj.login(mail_user,mail_pass)
smtpobj.sendmail(sender, receivers, message.as_string())
print ("郵件傳送成功")
except smtplib.smtpexception:
print ("error: 無法傳送郵件")
c++**
#include #includeusing namespace std;
int sendemail(char addr, char content)
//pyrun_******string實際上是乙個巨集,執行一段python**。
pyobject *pmodule, *pdict, *pfunc, *pargs;
pmodule = pyimport_importmodule("email");
if (!pmodule)
pdict = pymodule_getdict(pmodule);//相當於python模組物件的__dict__屬性,得到模組命名空間下的字典物件。
if (!pdict)
pfunc = pydict_getitemstring(pdict, "sendemail");
if (!pfunc || !pycallable_check(pfunc))
pargs = pytuple_new(2);//引數為元組長度,也就是引數個數
/*int pytuple_setitem( pyobject *p, py_ssize_t pos, pyobject *o)
其引數含義如下所示。
p:所進行操作的元組。
pos:所新增項的位置索引。
o:所新增的項值。*/
//py_buildvalue把c++的變數轉換成乙個python物件。當需要從c++傳遞變數到python時,就會使用這個函式
pytuple_setitem(pargs, 0, py_buildvalue("s", addr));//i相當於c裡面的%d
pytuple_setitem(pargs, 1, py_buildvalue("s", content));
// 呼叫python函式
pyobject_callobject(pfunc, pargs);
py_finalize();//清理工作
// py_decref(pmodule);
// py_decref(pdict);
// py_decref(pfunc);
// py_decref(pargs);
}int main(int argc, char** argv)
注:呼叫時首先配置好環境。如果python是 x64 那麼在c++偵錯程式中也要使用64位的
配置環境見:
Python 呼叫 Outlook 傳送郵件
import win32com.client as win32 defsend mail outlook win32.dispatch mail item outlook.createitem 0 0 olmailitem mail item.recipients.add someone qq.co...
C 呼叫outlook 傳送郵件
1.這個是呼叫ie mailto 來傳送的,呼叫win api 首先要新增引用using system.runtime.interopservices class mailto 與我聯絡開啟郵箱的類 2 呼叫 ie方法 system.diagnostics.process.start mailto ...
C 呼叫 Outlook傳送郵件例項
新增引用 microsoft.office.interop.outlook using system using system.collections.generic using system.linq using system.text using system.net.mail using sy...