Hi , I get Some Articel from http://www.fekke.com/blog/index.cfm/2008/1/21/Sending-Email-with-Attachments-from-Sharepoint-Custom-Workflows
SmtpClient client = new SmtpClient();
client.Host = smtpServer;
client.Port = 25;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
MailMessage myMailMessage = new MailMessage();
myMailMessage.From = new MailAddress(this.fromEmail);
myMailMessage.Subject = "Test email subject";
myMailMessage.Body = "This is a test email message.";
myMailMessage.To.Add(new MailAddress(toEmail));
MemoryStream myMemoryStream = new MemoryStream(this.attachmentByteArray);
myMailMessage.Attachments.Add(new Attachment(myMemoryStream, this.attachmentFileName));
client.Send(myMailMessage);
SPSite site = this.workflowProperties.Site;
SPWebApplication webapp = site.WebApplication;
//Get the SMTP server string smtpServer = webapp.OutboundMailServiceInstance.Server.Address;
byte[] myAttachment = myInfoPathForm.Attachment;
if (myAttachment != null)
{
int namebufferlen = myAttachment[20] * 2;
byte[] filenameBuffer = new byte[namebufferlen];
for (int i = 0; i < filenameBuffer.Length; i++)
{
filenameBuffer

= myAttachment[24 + i];
}
char[] asciiChars = UnicodeEncoding.Unicode.GetChars(filenameBuffer);
string filename = new string(asciiChars);
filename = filename.Substring(
0, filename.Length - 1);
byte[] filecontent = new byte[myAttachment.Length - (
24 + namebufferlen)];
for (int i = 0; i < filecontent.Length; i++)
{
filecontent

= myAttachment[24 + namebufferlen + i];
}
this.attachmentByte = filecontent;
this.attachmentFileName = filename;
}