2014-10-31 5 views
0

Я отправляю электронное письмо с моим консольным приложением, значение для Subject, SMTP, e tc .., как вы видите в коде, настраивается из файла App.Config, чтобы клиент мог вводить свои собственные.SMTP Client, если мои клиенты изменят его самостоятельно?

 SmtpClient client = new SmtpClient(ConfigurationManager.AppSettings["SmtpHost"]); 
    client.Port = Convert.ToInt32(ConfigurationManager.AppSettings["SmtpPort"]); 
    client.DeliveryMethod = SmtpDeliveryMethod.Network; 
    client.Send(message); 

Я вошел в свой собственный SMTP, Port и т.д .. данные в файле конфигурации, когда я тестировал приложение. Теперь, когда клиент хочет запустить его, им приходится вводить свой собственный порт, SMTP и т. Д. Или все еще использовать то, что я набрал там, и просто изменить RecipientAddresses?

ПРИМЕЧАНИЕ: Это не должен быть адрес электронной почты, на который они могут фактически ответить. Программе просто нужно отправить отчет после запуска на их настоящий адрес электронной почты. Не имеет значения, является ли адрес электронной почты отправителя реальным или нет.

+0

Это зависит от того, захочет ли клиент отправить его из своего собственного электронного письма или из вашего электронного письма? –

+0

@BenjaminGruenbaum Это не обязательно должен быть адрес электронной почты, на который они могут ответить. Программе просто нужно отправить отчет после запуска на их настоящий адрес электронной почты. Не имеет значения, является ли адрес электронной почты отправителя реальным или нет. – ConfusedSleepyDeveloper

+1

В этом случае - пока они в порядке с ним, и вы в порядке, чтобы они могли отправлять произвольные письма с этой учетной записи электронной почты - они не должны отправлять его со своих электронных писем. Я бы рекомендовал вам настроить веб-сервер, который принимает запросы от клиента, чтобы они не могли установить произвольные вещи на этом электронном письме, но он будет работать. –

ответ

2

Ответ: «Это зависит».

Если вы хотите предоставить клиенту ваши учетные данные SMTP, и если ваш SMTP-сервер доступен с сайта клиента, то оставлять ваши настройки в порядке. Я хотел бы предостеречь против делать это, хотя, по ряду причин:

  1. Теперь клиент привязан к службе SMTP. Если вы отключите этот сервер или измените свои учетные данные, клиент не сможет отправлять почту.
  2. Клиент имеет свои учетные данные SMTP. Кто-то может получить эти учетные данные из файла конфигурации и делать плохие вещи с вашей учетной записью.
  3. Если ваш клиент решает спамить других, используя ваши учетные данные, ваша служба SMTP может быть отмечена как спамер, и никто не сможет отправлять электронную почту из вашей учетной записи.

С учетом всех обстоятельств вам гораздо лучше, если ваши клиенты используют для этого свои собственные настройки SMTP.

+0

Спасибо, так что в основном я говорю им просить вашего ИТ-парня и в конфигурационном файле ввести свой собственный SMTP-хост и порт #? – ConfusedSleepyDeveloper

+0

@ConfusedSleepyDeveloper: Да, вот что я сделал бы. Также обратите внимание, что для их службы SMTP могут потребоваться учетные данные (имя пользователя и пароль), поэтому вам может потребоваться изменить вашу программу для поддержки этого. Кроме того, если ваша служба SMTP доступна извне вашего брандмауэра, вы должны настроить его для использования учетных данных. В противном случае у вас есть «открытое реле», и любой (включая спамеров) может отправлять сообщения через него. –

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