У меня есть веб-сайт asp.net 4.0, который генерирует оповещения по электронной почте на основе нескольких различных событий на сайте.Я использую следующий код в классе Utility.cs, который находится в моей папке App_Code.Subject, body и mailto - это параметры, передаваемые в метод.
try
{
var mailmessage = new MailMessage();
mailmessage.From("admin@xxxxxx.com");
mailmessage.To.Add(new MailMessage(mailTo));
mailmessage.ReplyTo("no-reply@xxxxxx.com");
mailmessage.Subject = subject;
mailmessage.Body = body;
mailmessage.IsBodyHtml = true;
var smtpClient = new SmtpClient();
smtpClient.Send(mailmessage);
}
catch (Exception smtpEx)
{// write to windows event log}
И мой web.config
<system.net>
<mailSettings>
<smtp deliveryMethod="Network" from="no-reply@xxxxxx.com">
<network host="xxx.xxx.xxx.xxx" port="25" defaultCredentials="true"/>
</smtp>
</mailSettings>
</system.net>
Эти электронные письма никогда не принимаются.Однако, что интересно, когда я использую функцию «Забыли пароль», я получаю свои электронные письма.Эта функциональность достигается с помощью элемента управления PasswordRecovery, и он используется следующим образом.
<asp:PasswordRecovery ID="xxx" Visible="false" runat="server"></asp:PasswordRecovery>
Я вообще не устанавливаю никаких свойств MailDefinition, что заставляет меня предположить, что он использует мои настройки web.configтак почему этот элемент управления может использовать эти настройки, но мой код C # не может.Наверное, это мое почтовое сообщение?
Ценю любую помощь, которую вы, ребята, можете предложить.
Спасибо!