2010-04-20 146 views
2

网站如何发送电子邮件当新的答案发布问题时,如果您回答此问题,网站如何发送电子邮件,我会得到自动化的电子邮件,我的问题有答案?当新答案发布到问题

+2

您是在问如何编写发送电子邮件的代码,或者您是否要求技术 - 例如,他们是立即发送电子邮件,还是每隔几分钟检查一次以查看哪些电子邮件需要发送?有关您的具体情况的更多细节可能会有所帮助。 – SqlRyan 2010-04-20 03:08:44

回答

0

邮件客户端发送邮件的方式相同;他们建立到SMTP服务器的连接并告诉它发送消息。一些/大多数语言都支持这种事情;例如,PHP有mail()功能

+0

谢谢迈克尔的回应。我试图在.NET中。到目前为止,我知道我们只能在Gmail上发送此类电子邮件,而不能在雅虎上发送。这是正确的,你如何发送电子邮件以外的其他gmail id? – Elenor 2010-04-20 02:58:23

2

收件人并不重要,只要你有机会获得一个SMTP服务器。代码看起来是这样的 - 你可以通过google搜索.NET发送电子邮件得到了一大堆更多的只是:

using System.Net.Mail; 
... 

var msg = new MailMessage(); 
msg.From = new MailAddress("[email protected]"); 
msg.To.Add("[email protected]"); 
msg.Subject = "Blah"; 
msg.Body = "Stuff"; 
var smtp = new SmtpClient("smtpServerNameOrAddress"); 
smtp.Send(msg); 
1

这取决于你所使用的服务器的类型,

例如,如果您使用的是Apache和PHP,你可以使用sendmail发送的电子邮件

,如果你正在使用ASP.NET,你可以使用任何免费的SMTP服务器例如Gmail

这里给它一个示例代码:

SmtpClient smtpobj = new SmtpClient(); 
MailMessage mail = new MailMessage(); 

mail.From = new MailAddress("[email protected]"); 
mail.To.Add("[email protected]"); 
mail.Subject = "Subject"; 
mail.Body ="<p> Content Here </p>; 
smtpobj.Host = "smtp.gmail.com"; 
smtpobj.Pot = 587; 
smtpobj.EnableSsl = true; 
smtpobj.Credentials = new NetworkCredential("user", "pass"); 
mail.Priority = MailPriority.High; 
mail.IsBodyHtml = true; 
smtpobj.Send(mail);