Можно ли настроить элементы управления членством asp.net (PasswordRecovery, CreateUserWizard) для работы без SMTP-сервера?

Наш ИТ-персонал хочет удалить SMTP-доступ с уровня веб-сайта и обеспечить отправку всех электронных писем с веб-сайта путем вызова веб-службы во внутреннюю службу, которая затем будет отправлять электронную почту непосредственно через сервер Exchange.

Есть ли способ настроить элементы управления PasswordRecovery и CreateUserWizard, чтобы позволить мне отправлять электронную почту напрямую (путем вызова службы) вместо автоматической отправки с использованием настроенных параметров SMTP в файле web.config?

Я не хочу переписывать страницы и использовать API напрямую, если я могу просто настроить элементы управления, чтобы они работали как есть. В противном случае я думаю, что мне придется удалить PasswordRecovery и CreateUserWizard и заменить их своими собственными элементами управления, которые вызывают API членства.


person HackWeight    schedule 15.07.2015    source источник


Ответы (1)


Я узнал, что у CreateUserWizard есть событие OnSendingMail, на которое можно подписаться. Установка MailMessageEventArgs e.Cancel = true приводит к тому, что электронная почта не отправляется элементом управления, но не отменяет рабочий процесс мастера. Поэтому я отменяю письмо и отправляю его сюда, ничего не переписывая.

PasswordRecovery Мне пришлось переписать. Только что воспользовался API членства, чтобы получить MembershipUser, позвонить ResetPassword() и напрямую отправить электронное письмо с новым паролем.

person HackWeight    schedule 17.07.2015