在 ASP 中发送多条消息

问题描述

提交内部表单后,我希望将一封包含特定信息的电子邮件发送给表单填写者,然后将一封包含不同信息的新电子邮件发送给客户。截至目前,凭借我所拥有的,我可以发送第一封电子邮件,但如何重置邮件程序并在同一页面上重新执行?

如果我将下面的代码加倍,我可以使它工作,但 AddAddress 列表不会重置。在第一次迭代中添加的收件人仍将在第二次迭代的 AddAddress 列表中。

这是我目前所拥有的:

            message= "<html><body><table><tr><td>Blah blah blah</td></tr>"
            message=message & "<tr><td>Something something.</td></tr>"
            message=message & "</table></body></html>"

           Set Mail = Server.CreateObject("Persits.MailSender")
           Mail.Host = "domain-com.mail.protection.outlook.com"
           Mail.From = "website@domain.com"
           Mail.FromName = "person@domain.com"
           Mail.AddAddress "me@domain.com"
           Mail.Subject = "Gast Repair. Enter P21 order for: " & request.form("CompanyName") 
           Mail.Body = message 
           Mail.IsHTML = True          
           strErr = ""
           bSuccess = False
           On Error Resume Next ' catch errors
           Mail.Send ' send message
           If Err <> 0 Then ' error occurred
              strErr = Err.Description
              'response.write "<P>" & strErr & "</P>"
               else
              bSuccess = True
            'response.redirect sendto
            End If

感谢您的帮助!

解决方法

Persits.MailSender COM 组件的 official documentation 提供了一些方法;

Reset()

清除所有地址、附件和自定义标题列表,以便可以发送新邮件。

ResetAddress()

清除所有地址列表,以便可以发送新邮件。不清除附件、嵌入的图像、自定义标题或属性。

还有

ResetAll()

与重置相同,加上将所有属性重置为其各自的默认值。

注意:这会将 Mail 对象完全重置为其默认值。

我会试试这些。