【问题标题】:Send Email like @mailto but from code behind ASP.Net发送电子邮件,如@mailto,但来自 ASP.Net 后面的代码
【发布时间】:2011-11-03 17:39:36
【问题描述】:

场景:我们正在使用 createwizard 控件为我们的网站创建用户。当用户有电子邮件时,我们只需向用户发送带有用户名和密码的电子邮件,说明他们的帐户已创建。使用 MailMessage 和 SMTPClient。

问题:当用户没有电子邮件(例如临时员工、学生)时,我需要能够生成电子邮件,但要通过创建者的邮件客户端打开它,以便他们可以自己输入电子邮件/查看用户名和密码。类似于@mailto 功能。

问题:有没有办法从后面的代码中做到这一点?我试过搜索,但到处都在告诉我使用不需要的 MailMessage 和 SMTPClient。

提前致谢。

【问题讨论】:

  • 从不在电子邮件中发送密码,但生成的密码必须在下次登录时更改。
  • @SLaks:我同意,除非它是加密的,否则我的意思是密码:)
  • 为什么不直接显示在页面中?
  • @Shadow 向导,如果用户没有电子邮件,那么创建者至少会看到包含用户名和密码的电子邮件,并且可以打电话给用户并告诉他们或通过电子邮件将其发送给他们的部门经理。
  • 所以只需将电子邮件发送给创建者.. 仍然看不到它与“@mailto”的东西有什么关系。

标签: asp.net vb.net email mailto


【解决方案1】:

您可以创建一个邮件链接并使用 JavaScript 单击它。

请看这里:How do I programmatically click a link with javascript?

或者您可以创建一个带有“收件人、主题和正文”文本框和一个发送按钮的表单,您可以在其中等待用户填写(收件人字段),然后使用 smtpclient 发送邮件。

附带说明:为什么不直接提示输入电子邮件地址,然后将其发送到那里?

【讨论】:

  • 这就是我的想法,但我希望有更简单的方法。
  • @Gage A:我看不出这有多困难。 Shadow Wizard 已经为您提供了 mailto 链接的代码,点击链接的代码也在那里。您需要做的就是添加一个包含内容的脚本块 clickLink(document.getElementById('yourlinkid'));在页面的末尾。
【解决方案2】:

嗯..您可以在某处执行 response.write 或使用替换控件,该控件链接到生成正确 a href=mailto:.......等的函数。 html

如果你想自动完成,你可以做一个javascript目标重定向

【讨论】:

    【解决方案3】:

    我想我终于明白你在追求什么了。这段代码应该可以工作:

    string sMailTo = "putmailhere@domain.com";
    string subject = "New member data";
    string body = "New member has been added.\nName: John Doe\nPassword: pass";
    Process.Start(string.Format("mailto:{0}?subject={1}&body={2}", sMailTo, Uri.EscapeUriString(subject), Uri.EscapeUriString(body)));
    

    请注意,您只能使用纯文本,据我所知,您不能强制使用 HTML 格式。

    编辑:由于它是 ASP.NET 应用程序,这种方法实际上是无用的,因为邮件客户端将在服务器机器上打开,而不是在访问者机器上。

    留给那些使用 WinForms 或任何非 Web 环境的人。

    对于 ASP.NET,唯一的方法是调用 <a href="mailto:..."> 锚点的客户端脚本。

    【讨论】:

    • 没有。这将在服务器上运行,而不是在客户端上。
    • @SLaks 对.. 它是 ASP.NET!嗯..想知道它是如何为 OP “完美运行”的.. ?
    • 您知道这会在服务器上打开一个电子邮件客户端吗?非常聪明,如果您是开发人员并且在与服务器相同的机器上进行开发,但您的客户端不会在那里。
    • @Shadow:他在本地主机上运行。
    • @SLaks - 编辑了答案。感谢您的关注!
    猜你喜欢
    • 1970-01-01
    • 2016-03-15
    • 2023-03-13
    • 1970-01-01
    • 2012-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-10
    相关资源
    最近更新 更多