2010-11-15 3 views
0

У меня есть приложение, которое извлекает параметры конфигурации электронной почты, такие как хост (имя SMTP-сервер), имя пользователя (SMTP Username) и пароль от App.config файла, как показано нижеНастройка электронной почты конфигурация не является неправдоподобным

<system.net> 
    <mailSettings> 
     <smtp from="[email protected]"><network host="smtp.gmail.com" userName="[email protected]" port="25" password="PassworD"/> 
     </smtp> 
    </mailSettings> 
</system.net> 

Сейчас я хотите настроить параметры, которые я установил в базе данных, и НЕ из файла App.Config. Из базы данных учетные данные недоступны в свойствах SMTPClient .FYI, они сохраняются в базе данных, а также правильные значения.

Пожалуйста, помогите!

Благодаря

+1

Итак, что вы хотите сделать, вы, в конце концов, потеряли меня там. Измените свой вопрос и уточните, чего именно вы пытаетесь достичь. – ace

+0

Вместо настроек, поступающих из app.config, я сохранил эти настройки в базе данных. Но когда я вижу свойства SMTPClient, все значения приближаются к нулю. –

ответ

1

Когда вы создаете экземпляр SMTPClient просто установите значения конкретно там. Это отменяет настройки из файла app.config/web.config.

var msg = new System.Net.Mail.MailMessage("[email protected]", "[email protected]", "Subject", "Body text..."); 
    var c = new System.Net.Mail.SmtpClient("smtp.gmail.com", 25); 
    c.Credentials = new System.Net.NetworkCredential("[email protected]", "PassworD"); 
    c.Send(msg); 
+0

Спасибо за комментарий !. Но нужно ли мне устанавливать это, когда мне нужно написать код для отправки электронной почты? –

+0

Да, вам нужно переопределить настройки по умолчанию таким образом. Но я не думаю, что это должно быть большой проблемой, ведь это всего лишь несколько строк кода. Оберните его в методе, и вы хорошо пойдете. :) –

0

, когда вы использовали версию web.config, настройки были автоматически заполнены для вас. Теперь, когда вы сохранили его в БД, вам нужно указать настройки.

Смежные вопросы