Ошибка отправки электронного письма в программе .NET

Итак, я делаю код на С#, чтобы отправить человеку сообщение по электронной почте, вот код:

MailAddress EmailFrom = new MailAddress("[email protected]");
MailAddress EmailTo = new MailAddress(txtTo);
MailMessage Email = new MailMessage(EmailFrom, EmailTo);
Email.Subject = txtTitle;
Email.Body = txtContext;
SmtpClient Client = new SmtpClient("www.gmail.com/");
Client.Send(Email);

Моя основная проблема заключается в том, что я получаю сообщение об ошибке:

SocketException: такой хост не известен System.Net.Dns.GetHostByName (System.String hostName) System.Net.Sockets.TcpClient.Connect (System.String имя хоста, порт Int32) System.Net.Sockets. .String имя хоста, порт Int32)

И говорит, что проблема на

Client.Send(Email);

Итак, может быть, кто-нибудь поможет мне с этим.


person Uriel    schedule 27.12.2010    source источник
comment
Возможно, вы захотите сократить свой пример кода до минимума, который все еще показывает проблему...   -  person Roger Lipscombe    schedule 28.12.2010
comment
Ваша ошибка не имеет ничего общего с Unity 3d.   -  person jason    schedule 28.12.2010
comment
Да, я знаю, но это только для дополнительной информации, потому что иногда важно знать, какую программу вы используете.   -  person Uriel    schedule 28.12.2010
comment
и иногда вам не нужен контекст. Пожалуйста, сузьте свой вопрос теперь, когда вы знаете, что ответ не имеет ничего общего ни с чем, кроме вашего неправильного URL.   -  person John Saunders    schedule 28.12.2010


Ответы (1)


"www.gmail.com/" не является допустимым именем хоста (оно имеет косую черту в конце). Это может (также) на самом деле не быть SMTP-хостом GMail.

person Roger Lipscombe    schedule 27.12.2010
comment
Если вы используете gmail в качестве хоста, ознакомьтесь с этой статьей... обратите внимание на порт и тот факт, что для параметра EnableSSL установлено значение true: stackoverflow.com/questions/704636/ - person JasonS; 28.12.2010
comment
спасибо за ответ, но знаю, что я получаю еще одну ошибку: Assets/mail.cs(36,16): ошибка CS0266: невозможно неявно преобразовать тип System.Net.NetworkCredential' to System.Net.ICredentialsByHost'. Существует явное преобразование (вам не хватает приведения?) - person Uriel; 28.12.2010
comment
@Uriel - подсказка для вас. Stack Overflow — это не форум для бесед, это сайт вопросов и ответов. Если у вас есть другой вопрос, который возник после того, как вы решили эту проблему, опубликуйте новый вопрос - гораздо больше людей увидят его таким. - person Bevan; 28.12.2010