我正在尝试使用smtp客户端发送带有附件的邮件。 当我尝试添加附件时,一切进展顺利:
System.Net.Mail.Attachment attachment;
attachment = new System.Net.Mail.Attachment(@"C:\icon.jpg");
mail.Attachments.Add(attachment);
但是当我尝试从控制台读取路径时,例如:
string path = Console.Read();
System.Net.Mail.Attachment attachment;
attachment = new System.Net.Mail.Attachment(path);
mail.Attachments.Add(attachment);
我要例外了
路径中的非法字符
有没有人可以向我解释为什么它不起作用?
答案 0 :(得分:1)
您的代码存在的问题是Console.Read() function仅用于读取输入中的下一个字符。
您应该改用Console.ReadLine(),它将从输入中读取整行。
string path = Console.ReadLine();
System.Net.Mail.Attachment attachment;
attachment = new System.Net.Mail.Attachment(path);
mail.Attachments.Add(attachment);