I ran across this great article on web 2.0 design.
This guy has a lot of good suggestions for the emerging web designer, and he backs up all his key points with examples and reasons. I'd recommend reading this through completely before beginning your next design.
Saturday, December 27, 2008
Monday, December 8, 2008
Elmah Error Logging and Secure SMTP
[EDIT: As of 1.0, Elmah natively supports ssl with the useSsl property making the below tweaks unneccessary.]
One enhancement I have made to the source is adding secure smtp capability. This is important for those of us who like to use Google hosted email, which only rides on secure protocols.
The changes are quite simple. The only class you need to modify is the ErrorMailModule. There are three steps to modifying the source:
1. Add a property (I've called mine SmtpSecure).
2. Load the property from the config in OnInit.
3. Enable ssl on the SmtpClient in the SendMail function.
public class ErrorMailModule : HttpModuleBase, IExceptionFiltering
{
...
// Add the SmtpSecure property
private bool _smtpSecure;
protected virtual bool SmtpSecure
{
get { return _smtpSecure; }
}
protected override void OnInit(HttpApplication application)
{
...
// initialize the property
// this should be done in two steps for error trapping reasons
bool smtpSecure = Convert.ToBoolean(GetSetting(config, "smtpSecure", bool.FalseString));
// ... after the error handlers are attached
_smtpSecure = smtpSecure;
}
// Enable ssl on the smtp client in SendMail
protected virtual void SendMail(MailMessage mail)
{
...
// ... after client is instantiated
if (SmtpSecure)
client.EnableSsl = true;
...
}
}
That's it! The last thing to do is add the attribute in your web.config:
<errorMail
from="errors@email.com"
to="admin@email.com"
subject="Unhandled Exception"
async="true"
smtpPort="587"
smtpServer="smtp.gmail.com"
userName="errors@email.com"
password="password"
smtpSecure="true" />
Subscribe to:
Posts (Atom)