2008-08-27 5 views
10

私のプログラムで私にエラー報告をメールで送ってもらいたい。どのように私はユーザー名/パスワード/ SMTPサーバー/などをハードコードせずにこれを行うことができます。コードに?既存のアカウントを使用して_without_からメールを送信するには?

私は、ポート25に接続して何かをすることができると言われていましたが、詳細については非常に曖昧です。私はあなたがこのプログラムをデコンパイルしてこの電子メールアカウントを引き継ぐことができます。 Googleのコードスニペットのほとんどは、既存のアカウントを持っていると想定していますが、この状況では機能しません。

私は.NET v3.5(特にC#)を使用していますが、ほとんどの言語で十分に類似していると思います。私がオフラインアプリケーションのためにこれをやっていることを理解し、PHPコードなどを私に提供しない限り、私たちはうまくいくはずです。

答えて

8

アカウントがgmail.comにある場合は、プログラムの送信SMTPサーバとしてgmail-smtp-in.l.google.comを設定してください。そのサーバーを使用しているときに、Gmailアカウントに電子メールを送信するためのパスワードを入力する必要はありません。

+0

宛先:アドレスはGmailのアドレスではありませんか?その状況の良い選択肢は何ですか? – greg7gkb

1

プログラムが直接電子メールを送信する必要がある場合は、その情報を何とか取得しなければならないため、攻撃者はその情報も取得できます。

シンプルなhttpフォームまたはWebサービスをどこかにホストしているので、必要な情報をアプリケーションから投稿して(認証は必要ありません)、手動で後で見るために保存するか、そのサーバーから?

7

私は接続するWebサービスを作成します。このWebサービスは、プログラムが提供するデータに基づいて電子メールを送信する必要があります。すべての機密性の高いアクセスデータはWebサービス側に保存されるため、安全です。

0

あなたのコントロールの下で実行されているいくつかのサービス(単純なケースでは、Webフォーム)にエラー情報を送信し、電子メールを送信する(または他の適切な方法でログに記録する) 。

メールを送信することがエンドユーザにとって有益であると思われる場合は、別の方法として、ユーザが独自のSMTPサーバ(および必要に応じてユーザ名/パスワード)を入力させることもできます。 - Unixシステムでは、 sendmailを使用して、正しく設定されていることを確認してください。私は、このアプローチを使用してシステムのスケジュールされたタスクに関するユーザーレポートを送信するシステムで作業していましたが、これはかなりうまく機能しました。

-1
MailMessage msg = new MailMessage("[email protected]", "[email protected]"); 
msg.Subject = "Check it out!"; 
msg.Body = "Visit stackoverflow.com!"; 
SmtpClient client = new SmtpClient("some.smtp.server", 25); 
client.Send(msg); 
0

あなたはあなた自身のISPのSMTPサーバーを使用する場合、あなたはあなたが行くことができますので、メールのリレースパムをやってと見なされていないため、使用しているISPのSMTPサーバーを知っている行うために必要なもの認証なしでスルーします。

残念ながら、私は思った最初は、それは簡単にその情報を取得することは常に可能ではないか、匿名であなたは会社でExchangeを使用しているときのようにログインできないだろういくつかの小さな例外があります...

あなたの情報を暗号化し、実行時にそれらを解読することについて、しかしそれはネットワークカードを盗聴することによって依然として利用可能である。しかし、他の人がすでに示唆しているように、あなたのために解読と郵送を行うウェブサービスと組み合わせることもできます(あるいは、あなたが好むWebサービスに情報を直接送信することもできます)。

関連する問題