0

こんにちは、次のコードを使用して Windows ベース アプリから を送信しています

            Mail.Subject = "test email"
            Mail.To.Add("to@xyz.com")
            Mail.From = New MailAddress("from@abc.com")
            Mail.Body = "Hello"
            Dim attachment As System.Net.Mail.Attachment
            attachment = New System.Net.Mail.Attachment("AttachPath")
            Mail.Attachments.Add(attachment)
            Dim SMTP As New SmtpClient("smtp.abc.com")
            SMTP.EnableSsl = True
            SMTP.Credentials = New System.Net.NetworkCredential("xyz@.abc.com", "password")
            SMTP.Port = 25
            SMTP.Send(Mail)

でも使いたくない

SMTP.Credentials = New System.Net.NetworkCredential("xyz@.abc.com", "password") 

インターパブも

誰もがこれに対する解決策を持っていますか

4

3 に答える 3

1

これを My.Settings エリアで設定し、必要に応じて参照することもできますが、これを開いて自由に表示できるため、安全ではありません...いずれにしても、安全なメールサーバーで資格情報を提供する必要がありますログオン時にサーバーがユーザーを認証できるようにします。これを行うには多くの方法があります。たとえば、PC のどこかに資格情報をランダムなテキスト ファイルに書き込むか、データベースから資格情報を取得します。

于 2013-01-07T06:10:37.047 に答える
0

クレデンシャルを保護するためにできる最善のことは、クレデンシャルを目立たないように隠すことです。一般的なエンドユーザーは、ILSpyなどのツールを使用してパスワードを盗むことを考えたことはないでしょう。そのため、心配する必要はありません。他のトリックは、ユーザー名/パスワードを難読化することを含みます。そのため、ユーザー名/パスワードがコードのどこから来ているのかを誰かが理解するのは非常に時間がかかります。

ファイルをアップロードするだけの場合、最終的には、認証を必要としない別のテクノロジを使用することをお勧めします。たとえば、フォルダ「クラッシュレポート」への匿名の読み取り/書き込みアクセスを許可するFTP / SFTPサーバーを設定できます(これがあなたが行っていることだと思います)。一部のサーバーではファイルの作成も許可されていると思いますが、ファイルの変更/削除は拒否されています。

于 2013-01-07T07:05:48.803 に答える
0

その特定のコード行を使用したくない場合は、匿名認証を許可するようにサーバーを構成する必要があると思います。

または、それが意図していない場合は、次を使用できますDefaultCredentials

SMTP.Credentials = CredentialCache.DefaultCredentials

詳細については、次を参照してください。

于 2013-01-07T05:52:18.213 に答える