天道酬勤,学无止境

smtp

SMTP 可以接受带有虚假发件人姓名的电子邮件(SMTP can accepts emails with false sender name)

问题 我正在使用SMTPClient将电子邮件发送到 SMTP 服务器。 但是使用Send方法我可以指定任何虚假的发件人姓名或电子邮件。 我怎样才能防止这种情况? 回答1 您的邮件服务器的工作是决定它接受什么作为发件人电子邮件地址 - 这只是一个政策问题。 邮件客户端没有“真实”的电子邮件地址,因此无法在客户端强制执行任何操作。 回答2 我认为这应该是 SMTP 服务器的角色来决定发件人名称是否有效。 事实上,在您的代码中引入它违反了 DRY 规则,因为您将复制 SMTP 配置。 正如您在 http://msdn.microsoft.com/en-us/library/swas0fwc%28v=VS.90%29.aspx 中看到的,您应该只准备捕获 SmtpExceptions 并将它们正确地显示给您的软件用户。 回答3 您不能在 SmtpClient 中对此做任何事情。 你可以在你的应用程序中做一些事情。 发送用户必须单击以验证其电子邮件的验证电子邮件。 你可以在你的 smtp 服务器上做一些事情。 根据发件人域/IP 地址检查 MX 记录或定义的 SPF 策略。 回答4 SMTP 是一种邮件传输协议(顾名思义)。 它不负责验证发件人。 要对发件人进行身份验证,您需要使用 SMTP 支持的证书,但同样只是作为一种传输手段。 程序本身需要具有使用证书对发件人进行身份验证的逻辑。

2021-10-26 00:17:53    分类:技术分享    c#   smtp   smtp-auth

SmtpClient.Send causes memory leak

I have a memory leak when calling SmtpClient.Send(). I have a service for sending emails. I noticed a memory leak in TaskManager. I commented out the SmtpClient.Send() line, and when I started the service again, I noticed that the memory usage didn't increase.

2021-10-25 23:31:06    分类:问答    .net   smtp

如何解决错误:无法在 Java 中找到请求目标错误的有效认证路径?(How to solve an error: unable to find valid certification path to requested target error in Java?)

问题 我有一个java邮件问题。 我这样配置我的代码: JavaMailSenderImpl mailSenderImpl = new JavaMailSenderImpl(); mailSenderImpl.setHost(env.getProperty("smtp.host")); mailSenderImpl.setPort(env.getProperty("smtp.port", Integer.class)); mailSenderImpl.setProtocol(env.getProperty("smtp.protocol")); mailSenderImpl.setUsername(env.getProperty("smtp.username")); mailSenderImpl.setPassword(env.getProperty("smtp.password")); Properties javaMailProps = new Properties(); javaMailProps.put("mail.smtp.auth", true); javaMailProps.put("mail.smtp.starttls.enable", true); 这是属性: smtp.host= email.server.com smtp.port=587 smtp

2021-10-25 22:01:08    分类:技术分享    java   smtp   jakarta-mail   pkix

Cannot Get the HTML textbox value

I have an html form that goes like this: <form id="main-contact-form" name="contact-form" method="post" action="test.aspx"> <div class="form-group"> <input id="txtname" type="text" class="form-control" placeholder="Name" required> </div> <div class="form-group"> <input id="txtemail" type="email" class="form-control" placeholder="Email" required> </div> <div class="form-group"> <input id="txtsubject" type="text" class="form-control" placeholder="Subject" required> </div> <div class="form-group"> <textarea id="txtmessage" class="form-control" rows="8" placeholder="Message" required></textarea> <

2021-10-25 20:53:00    分类:问答    c#   html   asp.net   smtp   html-email

smtp 服务器何时发送对已发送邮件的响应 - 放入队列后或发送后?(when does smtp server sends response for mail sent- after placing in the queue or after delivering?)

问题 您好,在企业环境中,我们需要同时向许多客户发送 smtp 电子邮件。 电子邮件发送请求源自前端,并一路返回 ESB 发送电子邮件。 现在我们需要将响应发送回前端,告知已发送电子邮件。 所以想知道smtp服务器是怎么发回响应的,是在将消息放入队列之后还是在将消息传递给客户端之后? 这个问题对于实际上还没有到过这一点的人来说可能有点奇怪。 但是,如果有人已经到了这一点并找到了解决方案,我真的很感激知道这一点。 回答1 SMTP 是一种存储转发协议。 通常,SMTP 服务器所做的只是说明它是否接受了要传送的邮件。 但它并没有说明消息是否真的被传递了。 至少,当 SMTP 客户端连接到服务器时不会。 大多数服务器将尝试发送消息并在发送延迟或发送失败时通知发件人(通过电子邮件)。 据我了解,他们不需要这样做。 而且我不知道有任何服务器在正常的业务过程中会在消息成功传递时通知您。 “没有消息就是好消息”,SMTP 通常就是这种情况。 这很像寄一封信。 你把一个信封放在邮箱里,希望它能到达它要去的地方。 如果信件无法投递,它(通常)会退回给您。 但是,除非您索要回执,否则您永远不知道信封是否到达目的地……或何时到达。 说到回执,请记住发送回执由接收者自行决定。 邮件客户端可以选择不发送回执。

2021-10-25 15:45:06    分类:技术分享    c#   smtp   sendmail

PHP邮件功能中的奇怪行为,地址不存在(Strange behavior in PHP mail function, address does not exist)

问题 我最近和一个客户遇到了这个问题。 代码如下: ini_set( "sendmail_from", "noreply@<current-domain>.com" ); // $target_email has been validated as a value username. // $subject is a simple String. // $message is an HTML message. mail( $target_email, $subject, $message ); 当我在我的机器上测试时,它运行良好。 当我在家中、工作中、在 Windows 2000 (IE6)、XP(四台不同的机器和一个 VirtualBox 实例)(IE6 & 7、Opera 9、Firefox 3)和 Vista(IE 7)以及通过 Ubuntu 上的 Konquerer 和 Firefox(在两台不同的机器上),它运行良好(我没有 Mac)。 我曾在四个不同的网络和三个不同的县尝试过该网站。 我尽我所能破坏这个网站,我没有收到任何错误,电子邮件从 noreply@<current-domain>.com 迅速发送到预期地址。 当我的客户在他的办公室测试它时,他收到了 SMTP 错误,说名称 noreply@<current-domain>.com 不存在并且他没有收到电子邮件。

2021-10-25 15:34:53    分类:技术分享    php   email   smtp

PHPMailer works on localhost, but fails on server

My script runs perfect on my localhost on WAMP, but when I try to run it on my server it fails, I tried also to run it on another server and it sends me the same error. This is the error I get when running the script on the server: > SMTP ERROR: Failed to connect to server: Connection timed out (110) > SMTP connect() failed. This is my PHPMailer configuration: require ('PHPMailer-master/PHPMailerAutoload.php'); $alertvalue = $_GET["alert"]; $mail = new PHPMailer(); echo "<p> Instance created. </p>"; $mail -> isSMTP(); $mail -> Host = "ssl://smtp.gmail.com"; // I've also tried withou the ssl://

2021-10-25 14:25:09    分类:问答    php   smtp   gmail   phpmailer

SMTPClient 一半工作\一半不工作(SMTPClient Half Working \ Half Not)

问题 我在网站上使用 Microsoft 的会员框架。 我可以发送密码检索电子邮件,但我无法使用 SMTPClient 自己发送电子邮件。 当您在网站管理工具中配置 SMTP 设置时,此应用程序为其 SMTP 客户端提供了哪些设置? 如果我知道这一点,我可以复制它并希望发送电子邮件。 我排除了一些项目。 - 我正在使用端口 25,(这是中等信任度下唯一允许的端口)。 - 此代码适用于我的本地系统。 回答1 我试图通过构造函数传递 SMTPClient 的值。 我没有意识到的是 SMTPClient 显然会自动从 web.config 中提取值并使用这些值。 通过尝试传递我自己的值(即使它们相同); 我无意中违反了信任级别,导致了安全异常。 构造函数中不要传入smtp信息,使用web.config设置,中等信任应该没有问题。 回答2 可能有很多事情,从凭据问题、DNS 问题,或者……谁知道呢。 它是否无法发送,因为您收到错误或它们似乎已发送但从未到达? 您确定 WSA 工具正在通过 SMTPClient,还是您只是假设(我不知道自己)? - 马库斯 我的邮件出现安全异常 这听起来像是凭据问题,或者是信任问题。 你确定你在中等(或更高)信任度下运行吗? 其余的错误是什么? - 马库斯 回答3 尝试检查您的 web.config 文件:WSA 工具是否正在更新这些设置?

2021-10-25 14:23:16    分类:技术分享    asp.net   smtp   trust

SMTPAuthenticationError: (535, b'5.7.8 用户名和密码在 Django 生产中不被接受?(SMTPAuthenticationError: (535, b'5.7.8 Username and Password not accepted in Django production?)

问题 我在 Heroku 上部署了一个 Django 应用程序。 在其中一个部分中,我使用 SMTP Gmail 设置向用户发送电子邮件。 当我在本地运行项目而不是在 Heroku 上部署的项目时,电子邮件会成功发送。 我在 Stackoverflow 上看到了许多其他答案,但没有一个能解决我的问题。 我在我的 Google 帐户上启用了 2FA 并生成了一个 APP 密码并在我的设置文件中使用该密码。 其他开发人员不建议启用 allow_less_secure_app 选项 我的settings.py文件电子邮件设置- EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'smtp.gmail.com' EMAIL_PORT = 587 EMAIL_USE_TLS = True EMAIL_HOST_USER = os.environ.get('EMAIL_USER2') EMAIL_HOST_PASSWORD = os.environ.get('EMAIL_PASS2') 我的views.py视图处理邮件- def index(request) if request.method == 'POST': form = MyForm(request.POST) if form.is

2021-10-25 11:59:43    分类:技术分享    python   django   email   smtp

如何在 Azure 中设置 smtp 服务器(How to setup an smtp server in Azure)

问题 可以在 Azure 中设置 Windows VM 作为 smtp 服务器吗? 我在某处读到它违反 Azure 政策,是否有官方文档说明这一点? 回答1 这个文档提到了它: 从 2017 年 11 月 15 日开始,从虚拟机 (VM) 直接发送到外部域(例如 Outlook.com 和 gmail.com)的出站电子邮件仅可用于 Microsoft Azure 中的某些订阅类型。 使用 TCP 端口 25 的出站 SMTP 连接被阻止。 (端口 25 主要用于未经身份验证的电子邮件传递。) Microsoft 建议您使用经过身份验证的 SMTP 中继服务(通常通过 TCP 端口 587 或 443 连接,但也支持其他端口)从 Azure VM 或 Azure 应用服务发送电子邮件。 这些服务用于维护 IP 或域声誉,以最大限度地减少第三方电子邮件提供商拒绝邮件的可能性。 此类 SMTP 中继服务包括但不限于 SendGrid。 也有可能您有一个可以使用的在本地运行的安全 SMTP 中继服务。 希望能帮助到你 。

2021-10-25 11:58:18    分类:技术分享    azure   smtp