易语言较稳定的发信写法

易语言自带的连接发信服务器可能存在不稳定因素,可能导致25端口占用和网络连接问题。通过使用客户组件直接连接SMTP服务器,逐步判断返回值并发送数据,可以实现更稳定的发信方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

众所周知,易语言支持库自带"连接发信服务器()","断开发信服务器()"命令...

但经过实践应用,连接与断开存在不稳定因素,目前暂不得知原由..会导致发信25端口占用卡住,最终切断全部网络连接..

经过查阅资料,得出另外一种发信方式,其原理是用客户组件,连接smtp服务器,一步一步判断返回值并发送数据..具体参看源码!

.版本 2
.支持库 shell
.支持库 spec

.子程序 发送邮件通知
.参数 主题内容, 文本型
.局部变量 返回数据, 文本型

客户1.连接 (smtp, 25)
返回数据 = 到文本 (等待数据 ())
.如果真 (取文本左边 (返回数据, 3) ≠ “220”)
    断开 ()
    信息框 (“发送失败”, 0, )
    返回 ()
.如果真结束
发送字符 (“EHLO ” + smtp + #换行符)  ' 服务器地址
返回数据 = 到文本 (等待数据 ())
.如果真 (取文本左边 (返回数据, 3) ≠ “250”)
    断开 ()
    信息框 (“发送失败”, 0, )
    返回 ()
.如果真结束
发送字符 (“auth login” + #换行符)
返回数据 = 到文本 (等待数据 ())
.如果真 (取文本左边 (返回数据, 3) ≠ “334”)
    断开 ()
    信息框 (“发送失败”, 0, )
    返回 ()
.如果真结束
发送字符 (BASE64编码 (到字节集 (id)) + #换行符)  ' 邮箱账号
返回数据 = 到文本 (等待数据 ())
.如果真 (取文本左边 (返回数据, 3) ≠ “334”)
    断开 ()
    信息框 (“发送失败”, 0, )
    返回 ()
.如果真结束
发送字符 (BASE64编码 (到字节集 (password)) + #换行符)  ' 密码
返回数据 = 到文本 (等待数据 ())
.如果真
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值