public void SendMessage()
{
using (SmtpClient client = new SmtpClient())
{
client.Send(Message);
}
DisposeAttachments();
}
That way the client will be disposed even if an exception is thrown during the Send
method call. You should very rarely need to call Dispose
explicitly – it should almost always be in a using
statement.
However, it’s not clear how the attachments are involved here. Does your class implement IDisposable
itself? If so, that’s probably the place to dispose of the attachments which are presumably member variables. If you need to make absolutely sure they get disposed right here, you probably need:
public void SendMessage()
{
try
{
using (SmtpClient client = new SmtpClient())
{
client.Send(Message);
}
}
finally
{
DisposeAttachments();
}
}