一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - 易語言 - 易語言發(fā)信寫法講解

易語言發(fā)信寫法講解

2022-02-27 16:43e語言之家 易語言

在本篇內容里小編給大家分享了關于易語言發(fā)信寫法的相關知識點以及實例代碼,需要的朋友們可以學習下。

眾所周知,易語言支持庫自帶"連接發(fā)信服務器()","斷開發(fā)信服務器()"命令...

但經過實踐應用,連接與斷開存在不穩(wěn)定因素,目前暫不得知原由..會導致發(fā)信25端口占用卡住,最終切斷全部網絡連接..

經過查閱資料,得出另外一種發(fā)信方式,其原理是用客戶組件,連接smtp服務器,一步一步判斷返回值并發(fā)送數據..具體參看源碼!

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
.版本 2
.支持庫 shell
.支持庫 spec
 
.子程序 發(fā)送郵件通知
.參數 主題內容, 文本型
.局部變量 返回數據, 文本型
 
客戶1.連接 (smtp, 25)
返回數據 = 到文本 (等待數據 ())
.如果真 (取文本左邊 (返回數據, 3) ≠ “220”)
  斷開 ()
  信息框 (“發(fā)送失敗”, 0, )
  返回 ()
.如果真結束
發(fā)送字符 (“EHLO ” + smtp + #換行符) ' 服務器地址
返回數據 = 到文本 (等待數據 ())
.如果真 (取文本左邊 (返回數據, 3) ≠ “250”)
  斷開 ()
  信息框 (“發(fā)送失敗”, 0, )
  返回 ()
.如果真結束
發(fā)送字符 (“auth login” + #換行符)
返回數據 = 到文本 (等待數據 ())
.如果真 (取文本左邊 (返回數據, 3) ≠ “334”)
  斷開 ()
  信息框 (“發(fā)送失敗”, 0, )
  返回 ()
.如果真結束
發(fā)送字符 (BASE64編碼 (到字節(jié)集 (id)) + #換行符) ' 郵箱賬號
返回數據 = 到文本 (等待數據 ())
.如果真 (取文本左邊 (返回數據, 3) ≠ “334”)
  斷開 ()
  信息框 (“發(fā)送失敗”, 0, )
  返回 ()
.如果真結束
發(fā)送字符 (BASE64編碼 (到字節(jié)集 (password)) + #換行符) ' 密碼
返回數據 = 到文本 (等待數據 ())
.如果真 (取文本左邊 (返回數據, 3) ≠ “235”)
  斷開 ()
  信息框 (“發(fā)送失敗”, 0, )
  返回 ()
.如果真結束
發(fā)送字符 (“MAIL FROM: ” + “<” + id + “>” + #換行符) ' 發(fā)件人
返回數據 = 到文本 (等待數據 ())
.如果真 (取文本左邊 (返回數據, 3) ≠ “250”)
  斷開 ()
  信息框 (“發(fā)送失敗”, 0, )
  返回 ()
.如果真結束
發(fā)送字符 (“RCPT TO: ” + “<” + email + “>” + #換行符) ' 收件人
返回數據 = 到文本 (等待數據 ())
.如果真 (取文本左邊 (返回數據, 3) ≠ “250”)
  斷開 ()
  信息框 (“發(fā)送失敗”, 0, )
  返回 ()
.如果真結束
發(fā)送字符 (“DATA” + #換行符)
返回數據 = 到文本 (等待數據 ())
.如果真 (取文本左邊 (返回數據, 3) ≠ “354”)
  斷開 ()
  信息框 (“發(fā)送失敗”, 0, )
  返回 ()
.如果真結束
發(fā)送字符 (“Subject: ” + 主題內容 + #換行符) ' 主題
發(fā)送字符 (“From:” + “<” + id + “>” + #換行符)
發(fā)送字符 (“To:” + “<” + email + “>” + #換行符)
發(fā)送字符 (#換行符)
發(fā)送字符 (主題內容 + #換行符) ' 正文
發(fā)送字符 (#換行符 + “.” + #換行符)
返回數據 = 到文本 (等待數據 ())
.如果真 (取文本左邊 (返回數據, 3) ≠ “250”)
  信息框 (“發(fā)送失敗”, 0, )
.如果真結束
斷開 ()
 
 
.子程序 _客戶1_數據到達
 
數據 = 客戶1.取回數據 ()
 
.子程序 等待數據, 字節(jié)集
.局部變量 數據_, 字節(jié)集
 
.循環(huán)判斷首 ()
  處理事件 ()
.循環(huán)判斷尾 (數據 = { })
數據_ = 數據
數據 = { }
調試輸出 (到文本 (數據_))
返回 (數據_)
 
.子程序 _客戶1_連接斷開
 
調試輸出 (“連接斷開” + #換行符)
 
.子程序 發(fā)送字符
.參數 字符, 文本型
.局部變量 i, 整數型
 
調試輸出 (字符)
.計次循環(huán)首 (取文本長度 (字符), i)
  客戶1.發(fā)送數據 (到字節(jié)集 (字符 (取代碼 (字符, i))))
.計次循環(huán)尾 ()
 
.子程序 斷開
 
發(fā)送字符 (“quit” + #換行符)
客戶1.斷開連接 ()
 
.子程序 BASE64編碼, 文本型
.參數 待編碼數據, 字節(jié)集, , 待編碼字節(jié)集
.局部變量 余數
.局部變量 臨時, 字節(jié)型, , "3"
.局部變量 變量
.局部變量 集合, 字節(jié)集
.局部變量 長度, 整數型
.局部變量 字符, 字節(jié)集
.局部變量 i
 
長度 = 取字節(jié)集長度 (待編碼數據)
.如果真 (長度 < 1)
  返回 (“”)
.如果真結束
余數 = 長度 % 3
.如果真 (余數 > 0)
  待編碼數據 = 待編碼數據 + 取空白字節(jié)集 (3 - 余數)
.如果真結束
長度 = 取字節(jié)集長度 (待編碼數據)
字符 = 取空白字節(jié)集 (長度 × 4 ÷ 3)
i = 1
集合 = 到字節(jié)集 (“ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/”)
.變量循環(huán)首 (1, 長度, 3, 變量)
  臨時 [1] = 待編碼數據 [變量]
  臨時 [2] = 待編碼數據 [變量 + 1]
  臨時 [3] = 待編碼數據 [變量 + 2]
  字符 [i] = 集合 [右移 (臨時 [1], 2) + 1]
  字符 [i + 1] = 集合 [左移 (位與 (臨時 [1], 3), 4) + 右移 (臨時 [2], 4) + 1]
  字符 [i + 2] = 集合 [左移 (位與 (臨時 [2], 15), 2) + 右移 (臨時 [3], 6) + 1]
  字符 [i + 3] = 集合 [位與 (臨時 [3], 63) + 1]
  i = i + 4
.變量循環(huán)尾 ()
.如果真 (余數 > 0)
  長度 = 取字節(jié)集長度 (字符)
  .如果 (余數 = 1)
    字符 [長度 - 1] = 取代碼 (“=”, )
    字符 [長度] = 取代碼 (“=”, )
  .否則
    字符 [長度] = 取代碼 (“=”, )
  .如果結束
 
.如果真結束
返回 (到文本 (字符))

以上就是我們整理的關于發(fā)送信件寫法的全部內容,感謝大家對服務器之家的支持。

延伸 · 閱讀

精彩推薦
  • 易語言一步一步跟我學易語言之第二個易程序菜單設計

    一步一步跟我學易語言之第二個易程序菜單設計

    今天小編就為大家分享一篇關于的一步一步跟我學易語言之第二個易程序菜單設計,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要...

    易語言幫助手冊7092021-06-17
  • 易語言易語言獲取指定磁盤的名稱

    易語言獲取指定磁盤的名稱

    今天小編就為大家分享一篇關于易語言獲取指定磁盤的名稱,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來...

    易語言幫助手冊12662022-01-04
  • 易語言易語言在畫板中寫出指定文本當畫板中已滿會自動滾屏

    易語言在畫板中寫出指定文本當畫板中已滿會自動滾屏

    今天小編就為大家分享一篇關于易語言在畫板中寫出指定文本當畫板中已滿會自動滾屏,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,...

    易語言幫助手冊9092022-01-12
  • 易語言實例操作易語言載入窗口

    實例操作易語言載入窗口

    在本文中小編給大家整理的是關于易語言載入窗口的教程和步驟內容,需要的可以跟著學習下...

    易語言教程網19162022-03-02
  • 易語言易語言設置進度條邊框樣式的方法

    易語言設置進度條邊框樣式的方法

    今天小編就為大家分享一篇關于易語言設置進度條邊框樣式的方法,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨...

    易語言幫助手冊4422022-01-20
  • 易語言一步一步跟我學易語言之關于變量

    一步一步跟我學易語言之關于變量

    今天小編就為大家分享一篇關于一步一步跟我學易語言之關于變量,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨...

    易語言幫助手冊10822021-06-17
  • 易語言易語言生成exe文件的方法

    易語言生成exe文件的方法

    在本篇內容中小編給大家分享的是關于易語言生成exe文件的方法知識點,需要的朋友們參考下。...

    易語言教程網14792022-03-01
  • 易語言易語言關于程序進程和線程的基礎知識

    易語言關于程序進程和線程的基礎知識

    今天小編就為大家分享一篇關于易語言關于程序進程和線程的基礎知識,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起...

    三葉資源網6662022-02-24
主站蜘蛛池模板: 三级无删减高清在线影院 | 国产欧美精品一区二区三区–老狼 | 欧美成人免费观看久久 | 初尝黑人巨大h文 | 精品一区二区国语对白 | 亚洲欧美另类在线观看 | 国产麻豆剧果冻传媒影视4934 | 免费在线观看网址大全 | 无遮掩60分钟从头啪到尾 | 免费欧美视频 | 日本在线你懂的 | 91天堂国产在线 在线播放 | 色老板最新网站视频地址 | 日本一道一区二区免费看 | 果冻传媒林予曦图片 | 私人影院免费 | 男人狂躁女人gif动态图 | 久久综合中文字幕佐佐木希 | 秋霞综合网| 亚洲福利一区二区三区 | 亚洲精品色图 | 国产小青蛙 | 秋霞黄色网 | 欧美日韩一本 | 日b视频免费看 | jk制服白丝超短裙流白浆 | 99精品免费视频 | 国产精品成人一区二区 | 精品无人区乱码1区2区3区免费 | 福利片福利一区二区三区 | 日本加勒比在线播放 | 欧美在线视频一区在线观看 | 国产九九在线观看播放 | 成人在线免费观看 | 拔插拔插8x8x海外华人免费视频 | 日本捏胸吃奶视频免费 | 亚洲毛片基地4455ww | 大又大又黄又爽免费毛片 | chinese男同志同性twink | videos护士有奶水 | 日本狠狠操 |