首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

D菜谱1206

发送电邮

可用取网径的d标准库包装器发送电邮.取网径是网络客户端库让我们完成通过超传包含网径,包含下载文件,用文传协议上传文件,和发送电邮大量任务.

准备

可移口系统很可能已安装取网径并由dmd窗口安装器自动安装.然而,你要确保你安装了32位库如你构建32位程序或如你构建64位程序的64位库.为改变你构建的二进制类型,把-m32或-m64传递给dmd.

因为标.网.取网径是d标准库的部分,你不必下载任何附加D库来用它发送一个基本电邮件.

如何做...

我们执行以下步骤发送一个基本电邮:

导入 标.网.取网径.

创建简邮协议对象,给它传递一个服务器资标符并包含协议,例如,简邮协议://本地主机或安简邮协议://简邮协议.谷歌邮箱.组模:465.简邮协议是个引用计数构,所以不用新关键字.

如你需要登录到你邮件服务器用你用户名和密码调用简邮协议.置认证.

调用简邮协议.邮件至(接受者数组);.这个数组应包含所有将接收消息的电邮地址,包含在到列表,Cc列表,和接受者的Bcc列表的人们.

置简邮协议.邮件从="你_电邮_地址".邮件从值不应该包含你名.

置简邮协议.消息为消息串,包含空白行从体分隔的电邮头.

调用简邮协议.处理()来发送电邮.

用指示(静态库)链接取网径库或传递-L选项到dmd.

代码如下:

如你改变电邮地址和邮件服务器到你实际用的,它将用一个你好的主题行发送电邮!和嗨那儿的正文.

提示

如你不能通过你的邮件服务器发送电邮,试设置简邮协议.详细=真;在发送电邮前.本将使库当它运行时打印调试信息.

它如何工作...

对应用程序有两个常见方法来初化一个电邮:请求简单邮件转移协议(简邮协议)服务器为他们中继它或为他们调用局部应用(经常发送邮件)来发送它.d标准库都支持:它可用标.进程调用一个局部应用或它用标.网.取网径同邮件中继服务器对话,其是什么我们.这儿

标.网.取网径.简邮协议模块是个围绕取网径库的功能的相当底层包装器.为用好它,你自己要管理电邮头并管理一些协议细节比如构建所有邮件至接受者数组并在邮件从属性中放置电邮地址.这些属性与终端用户看见的电邮头分离.标.网.取网径不会解析在消息体中的头,也不会从属性中给它加接受者头.

结果,邮件至属性必须包含所有接受者,包含到,Cc,和Bcc列表.另外,在消息中应有相应电邮头.类似,邮件从应包含你电邮地址当从:在消息头也有并为了显示包含到用户的你名.

也应有内容类型头.电邮不需要这些组件,但在接受者的计算机上可能不对.

标.网.取网径模块也支持基于简邮协议认证的用户名和密码而电邮提供者经常用开始TLS特征.为添加你用户名和密码,用置认证.为用安套层或线程本地,在简邮协议构造器用安简邮协议://协议如同为你邮件服务器(用你提供者检查来确保)的合适端口.在冒号后写服务器名,例如,安简邮协议://你服务器.组模:465.典型465或587

在构建消息后,简邮协议.处理()的调用将连接到服务器并发送消息.它可能抛一个异常说它失去到端的连接.多数是因为坏的认证信息或无效接受者电邮地址.确保你用户名正确和你发送有效接受者;检查在邮件至数组中的所有地址是否格式好.标.网.电邮模块有个验证电邮地址是好格式的帮助函数.你也可检查他们是否有非零长度和无额外空格.

最终,为编译程序,我们必须加静态库c网径到链接器命令.在你主文件中写指示(静态库,"取网径")最简单.你也可在窗口中把取网径.静态库传递到dmd或在可移口系统中把-L-l取网径传递到dmd.

更多...

创建和解析电邮是个复杂任务,因为需要处理大量字符编码规则,消息头,和附件的多目的互联网邮件扩展(邮协议)标准,替代体,等等.

从我的源码仓库,你可下载我的电邮.d文件.电邮.d文件包含一个允许你从属性列表和帮助方法而不必担心特殊消息格式建造电邮消息的电邮消息类.一旦准备好消息,你可通过标.网.取网径.简邮协议调用消息.发送()来发送它.我的电邮.d文件依赖超文本转文本.d,文档模型.d,和字符编码.d来自动转换超文本电邮到普通文本并用不同字符集解析输入电邮.

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180904G1L0W800?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券