문제

얼마 동안 나는 내 연결 및 앱 설정을 외부 파일에 저장하고 웹을 통해 해당 파일을 참조했습니다. 이것은 별도의 연결 문자열과 앱 설정을 유지할 수 있기 때문에 정말 잘 작동합니다. 개발 중에 나는 종종 WebConfig를 많이 변경하고 Web.Config를 업데이트 할 때마다 환경 별 값을 관리 해야하는 것을 싫어하기 때문에 이것은 정말 편리합니다.

어쨌든 나는 web.config의 SMTP 구성 섹션으로 이것을 달성 할 수 있습니다.

도움이 되었습니까?

해결책

물론 configsource 속성을 사용할 수 있습니다.

예시:

<system.net>
  <mailSettings>
   <smtp configSource="MailSettings.config"/>
  </mailSettings>
</system.net>

그런 다음 MailSettings 구성 데이터를 MailSettings.config에 넣으십시오

그러면 MailSettings.config 파일은 다음과 같은 것이 있습니다.

    <network 
    host="relayServerHostname" 
    port="portNumber"
    userName="username"
    password="password" />

업데이트: 실제로 SMTP 노드에 올바르게 작동해야 할 수도있는 것처럼 보이므로 위의 코드를 업데이트하여 동일한 아이디어 만 사용해야합니다. :)

다른 팁

여기에있는 것이 최신 버전의 .NET에만 적용되는지 확실하지 않습니다. 허용 된 답변을 사용하여 런타임 오류가 발생했습니다.

최신 버전의 .NET으로 작업하는 경우 아래 코드 블록으로 허용 된 답변을 업데이트하십시오. SMTP 노드는 네트워크 노드뿐만 아니라 별도의 파일에 있어야합니다. 실제 web.config 파일의 전체 SMTP 노드는 추가되는 appSettings와 달리 거기에 넣은 파일로 대체됩니다.

web.config-

  <system.net>
        <mailSettings>
          <smtp configSource="your-source-file">
          </smtp>
        </mailSettings>
    </system.net>

파일 -

   <smtp from="noreply@example.com">
      <network
        host="your-host"
        port="your-port"
        userName="your-user-name"
        password="your-password"/>
    </smtp>

내 소프트웨어는 레지스트리에도 제작 중에도 저장합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top