WinForm/C# C# 窗体程序实现发邮件功能

ningchao · 2020年06月16日 · 114 次阅读

业务部门在 ERP 中完成某个操作时,需要将该操作以邮件的形式通知客户等,如:在寄送物品时我们完成邮寄的操作时,系统应该向对应的收件客户发送一个提醒邮件。

整体思路

  • 准备邮箱授权事项
  • 编写功能代码
  • 测试
  • 常见问题

一、准备邮箱授权事项
目前实现邮箱发件的准备工作须有两方面信息:发送方、接受方。
发送方包括内容:发送帐号、授权、发送内容

发送方帐号以鲁泰企业帐号为例,如 ningchao@lttc.com.cn;若使用公共帐号则需要在公司申请或获取授权

Step1:用使用的鲁泰企业邮箱帐号登陆网页版邮箱,网址(https://qiye.163.com/login/)注:客户端目前暂不支持获取授权

Step2:找到邮箱的【设置】→【邮箱设置】选项
1

Step3:在左侧菜单列表种查找【客户端设置】,右侧相应获取客户端授权设置信息点击设置客户端授权密码的开启功能,该功能相当于授权的总开关,若后期不适用该功能时可通过此处的关闭实现 2
Step4:点击【生成授权码】,弹出如下界面输入【客户端名称名称】,【到期时间】、【授权密码生成方式】、【授权密码】建议默认
3
输入完成后点击【确认】,弹出窗口,记录下授权码《3HYf2GRQ6zLyxqAd》undefined
4

后期若删除该授权可通过上述方式在【客户端设置】种删除 注:其它邮箱在邮箱的设置种可完成上述操作,或者网络查看相应常见邮箱的设置教程

二、编写功能代码
编写简易功能代码,后期整合可在次基础上进行优化整合
引用命名空间:using System.Net;
using System.Net.Mail;
(插入代码格式不好看,所以截图)
QQ截图20200616093927

三、测试
8

四、常见问题
(1)“命令顺序不正确。 服务器响应为:Error: need EHLO and AUTH first !”
错误原因:登陆邮箱的功能需要先获取授权 解决方案:未开启客户端授权
参考资料(此处是 QQ 邮箱解决方案,鲁泰企业邮箱原理雷同):https://blog.csdn.net/youhong8604/article/details/50403512
(2) 正在处理错误。服务器响应为:43.2 Internal senver error
错误原因:帐号、授权码、端口号是否与设置匹配
解决方案:去设置中查看并于代码中核对
(3)客户端登陆邮箱提示
7

错误原因:邮箱开启了客户端授权登陆,不能使用原密码进行登陆 解决方案:可使用授权码登陆;或某种业务类型设置一个通用的企业邮箱帐号
五、后期优化
后期批量使用是否建立对应配置表、邮件内容模板等

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册