Я использую элементы управления поставщика членства ASP.NET (ChangePassword и PasswordRecovery), и они обычно работают просто отлично.
К сожалению, они не отправляют электронные письма после завершения процесса.
Я настроил SMTP-сервер с помощью веб-сайта конфигурации ASP.NET, и он добавил следующие строки в файл web.config:
<system.net>
<mailSettings>
<smtp from="maildaemon@pagetailors.de">
<network host="pagetailors.de" password="XXXX" userName="XXXX" />
</smtp>
</mailSettings>
</system.net>
Я также попытался использовать IP-адрес сервера вместо домена.
В дополнение к этому я установил свойства определения почты для используемых веб-элементов управления:
<MailDefinition From="maildaemon@pagetailors.de"
Subject="Your new password">
</MailDefinition>
После того, как я закончу изменение или сброс пароля, система управления покажет сообщение об успешном завершении. Он не показывает никаких ошибок, но письма не отправляются.
Я также проверил файлы журнала SMTP на сервере (это сервер MailEnable), но даже не смог найти попытку отправить эти сообщения.
Я использую специальный класс помощника по электронной почте, который вручную отправляет электронное письмо с использованием следующих настроек:
public static void SendEmail(string from, string to, string subject, string body)
{
SmtpClient mailClient = new SmtpClient(ConfigReader.GetStringValue("MailServer"));
mailClient.Credentials = new NetworkCredential(ConfigReader.GetStringValue("MailUsername"),
ConfigReader.GetStringValue("MailPassword"));
MailMessage mailMessage = new MailMessage(from, to, subject, body);
mailClient.Send(mailMessage);
}
Значения для почтового сервера, имени пользователя и пароля, считанные из файла конфигурации, совпадают с определенными в инструменте конфигурации ASP.NET. Эти письма успешно доставлены.
Есть идеи?
Заранее спасибо!