2012-07-24 134 views
0

可能重复:
Need to Send Email from HTML pages发送电子邮件,但只有HTML和/或JavaScript的形式?

是否有使用一种形式,没有数据库发送电子邮件的方式?有没有可以做到这一点的HTML元素?

+0

你说没有DB,你是否也意味着没有服务器端代码? – Doon 2012-07-24 01:25:49

+0

您需要电子邮件服务才能发送电子邮件。很可能有一个API可用于此。但它会使用他人的服务 - 比如通过Ajax发送数据给另一台服务器来发送电子邮件。 – 2012-07-24 01:28:56

+0

不,您不能在任何服务器端程序中使用任何服务器端程序,例如PHP,Java,ASP,您无法发送邮件。而且是的,因为您不需要任何数据库来发送邮件。 – Asif 2012-07-24 01:30:50

回答

3

你可以使用一个电子邮件链接:

<a href="mailto:[email protected]">Person</a> 

编辑:如果你真的想用一个表格,你可以利用mailto参数,如主题,正文毫升,和密件抄送定制你的电子邮件这里有一个例子:

// JS 
 
// Uses jQuery but could be done without 
 
$(function() { 
 
    $('div').click(function() { 
 
     var emailLink = $('#email'); 
 
     emailLink.attr('href', 'mailto:[email protected]?subject=' + $('#subject').val() + '&body=' + $('#body').val()); 
 
    }) 
 
});
/* CSS */ 
 
div { 
 
    cursor: pointer; 
 
    color: blue; 
 
    text-decoration: underline; 
 
}
<!-- HTML --> 
 

 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
Subject: <input type="text" id="subject"><br> 
 
Body: <input type="text" id="body"><br> 
 

 
<div>Update Email Settings</div> 
 
<a id="email" href="mailto:[email protected]"> 
 
    Send Email 
 
</a>

注意,这仍然会使用用户的默认电子邮件客户端,也不会发送电子邮件自身。但是,它允许您从表单中更改电子邮件的主题和内容,并将其传递给电子邮件客户端。

+0

我很熟悉那种方法,谢谢。我想用一个表格,因为它看起来更专业。 – lampShade 2012-07-24 01:27:25

+2

@lampShade:作为我的用户,我更喜欢'mailto:'解决方案。不知道为什么你认为表单看起来更专业,但用我的电子邮件客户端,我至少知道该消息已发送(并已存档,因此如果需要,我可以找到它) – zerkms 2012-07-24 01:32:20

+1

它看起来只是CSS。第二种解决方案也使用form('input')元素,而不是用'form'包装。 HTML是灵活的。除了打开外部电子邮件客户端,没有其他(纯JS + HTML)解决方案。任何纯粹通过网络完成此操作的合理解决方案都涉及服务器代码。 – 2012-07-24 02:25:00

1

如果您的意思是您想要动态发送电子邮件,则需要比PHP或ASP.net更多的HTML和JavaScript。

2
<a href="mailto:[email protected]">someOne</a> 

它将打开一个电子邮件客户端软件,如MS-Outlook。 如果你想直接用HTML & JS发送它,这是不可能的。

因此,邮件需要SMTP协议才能发送邮件,但浏览器只支持HTTP协议。 你需要一个SMTP服务器发送邮件,并与一些服务器端代码,如PHP或JSP ...

1

您可以使用超链接,使用户点击然后重定向用户到默认邮件系统。 例如,你可以使用

<a href="mailto:[email protected]">Username</a> 
相关问题