delphi - 使用 TIdSMTPServer 实现邮件服务器
问题描述
我从 GoDaddy.com 获得了域名 - xyz.in,还获得了邮件 ID - info@xyz.in。目前,我可以使用 GoDaddy 发送 500 封邮件。
所以,我正在考虑使用 Delphi - TIdSmtpServer 来实现我的邮件服务器。我发现了一些示例,但对于发送邮件,我如何使用发件人 ID 作为 info@xyz.in 并发送邮件。由于我只需要发送邮件,其他设置是什么,请提供一些基本的示例代码。
提前致谢。
解决方案
SMTP 是单向的,从发送者到接收者。您不能使用 发送电子邮件TIdSMTPServer
,只能接收它们。您的 SMTP 服务器需要根据需要存储收到的电子邮件,以便您以后通过 POP3/IMAP 或您想要制作的任何自定义系统检索它们。
当有人想向您发送电子邮件时info@xyz.in
,他们会对 MX 记录执行 DNS 查找xyz.in
,然后连接到该服务器并发出 SMTP 命令以将电子邮件传递到info
邮箱1。因此,您需要将域的 DNS MX 记录配置为指向您的 SMTP 服务器机器的 IP 地址。
要将电子邮件从您的系统发送给其他人,请TIdSMTP
改用,以便它可以连接到其他人的 SMTP 服务器并将电子邮件发送到其他人的 SMTP 服务器。您可以使用TIdDNSResolver
查找域的 MX 记录来查找要连接到1的 IP 地址。
1:大多数用户通过他们的ISP自己的SMTP服务器发送一封外发电子邮件,并根据需要将电子邮件中继到每个收件人的域SMTP服务器。并使用他们的 ISP 的 SMTP 服务器来接收电子邮件。这对用户来说更容易使用和配置,并且更安全,因为它允许 ISP 实施安全和反垃圾邮件措施。因此,从长远来看,您最终可能会坚持使用 GoDaddy 的 SMTP 服务器,而不是运行您自己的服务器。
推荐阅读
- amazon-s3 - Athena 查询参数化 s3 文件夹
- c# - 动画与鼠标路径同时出现 - WPF
- microsoft-graph-api - 如何访问 Microsoft Exchange 本地安装的日历
- css - 如何在material-ui卡组件中获得相同的宽度?
- python - 仅当字典不在列表中时才将其包含在列表中
- java - 使用 Jose4J 将 JWT 的主体提取为 JSON
- android - Android Jetpack Compose 中的 Modifier.wrapContentWidth() 与 Modifier.width(IntrinsicSize.Max)
- excel - Excel Power Query 自定义函数编辑器以捕获未找到的值
- database - TYPO3 中的高效 Flexform 数据库查询
- django - 如何在 Django 模型中获取所有反向关系名称?