Mail.dll does not directly support card readers.
To encrypt/decrypt/sign/verify SMIME emails you'll need standard .NET X509Certifcate2 class instance.
So the question is how to get those from the reader?
I think that certificates should be available through the Windows Certificate Store:
X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly);
foreach (X509Certificate2 certificate in store.Certificates)
{
Console.WriteLine(certificate.IssuerName);
Console.WriteLine(certificate.SubjectName);
//...
}