問題タブ [smtpclient]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
25436 参照

c# - http プロキシ経由でメールを送信する

インターネット オプションで設定された http プロキシ経由でインターネットに接続するシステムから電子メールを送信しようとしています。

私はSmtpClientを使用しています。

このプロキシ設定を介して SmtpClient でメールを送信する方法はありますか? ありがとう

0 投票する
7 に答える
13677 参照

.net - 電子メールを送信する .NET の最良の方法 (System.Net.Mail には問題があります)

これはかなり簡単なようです。ASP.NET アプリケーションから電子メールを送信する必要があります。奇妙なエラーが発生せず、CPU 使用率が上限を超えることなく、一貫してこれを行う必要があります。私は大量の電子メールについて話しているのではなく、時折の電子メールについて話している.

System.Net.Mailひどく壊れているようです。SmtpClient は Quit コマンドを発行しないため (Microsoft(R) が仕様に従うことに関心がないためかもしれません)、接続は開いたままになります。したがって、その接続が最終的に閉じる前に誰かが電子メールを送信しようとすると、開いている接続が多すぎるというエラーを SMTP サーバーから受け取る可能性があります。これは、Microsoft(R) が修正にまったく関心がないバグです。ここを参照してください:

http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=146711

また、このコードを使用してこの問題を解決することをお勧めします。

わかりました、はい、接続が開いたままになるという問題を「解決」します。ただし、これは一貫して、必要に応じてサーバーで試してみると、プロセス (この場合は w3wp.exe) が実行されている CPU がジャンプし、アプリケーション プールがリサイクルされるまで 100% のままになります。何らかの理由で、mscorwks.dll!CreateApplicationContext を実行するスレッドが原因です。

これには、持続的な 100% の CPU 使用率に眉をひそめる Web ホストで実行している場合、アプリケーション プールが無効になるという非常に良い副作用があります。したがって、これは一部の人が示唆するほど簡単ではありません。

だから私の質問は何をすべきか?私がしなければならないことはとても簡単です。ただし、「開いている接続が多すぎます」というエラーは受け入れられず、CPU 使用率も 100% ではありません。サード パーティのコンポーネントを購入したくないのは、安いからではありませんが、シンプルな SMTP 機能に 100 ドルから 300 ドルを支払う必要があるとは思えないほど、十分な数のコンポーネントと MSDN サブスクリプションを購入しています。

MaxIdleTime を高く設定すると役立つことがあると読みましたが、それには懐疑的です。Microsoft が SMTP 仕様に準拠したくないという理由だけで、アプリ プールが無効になる危険を冒したくありません。

編集: quiksoft.com コンポーネントを見ましたが、SMTP 認証をサポートしておらず、500 ドルかかります。この問題には解決策が必要です。

0 投票する
4 に答える
2874 参照

c# - SmtpClient を使用して特定のメール アドレスにメールが送信されない

SmtpClient クラスを使用して電子メールを送信するクライアント用の単純な asp.net 電子メール フォームを作成しました。これは非常に基本的なもので、ほとんどの場合に機能します。

このフォームは多くの Web サイトで使用されていますが、断続的にしか機能しません。コードは常に機能し、例外をスローしません。正しく機能しますが、断続的に機能し、特定のクライアントでは、電子メールが宛先アドレスに到達しません。外部メール (個人の Hotmail アカウントなど) に変更すると、正しく機能します。

受信者にスパムの受信トレイを確認するように依頼しましたが、役に立ちませんでした。この問題をどのように追跡できますか? クライアントのasp.netサーバーが電子メールを送信したことをどのように知ることができますか(この場合、問題は受信者側にあります)?

0 投票する
1 に答える
3415 参照

.net - SmtpClient でメールを送信する最適な方法は?

大量の電子メールを送信するときのパフォーマンスの良さを探しています。

これを行う正しい方法は、接続を開いて最大 20 通の電子メールを送信し、接続を閉じることだと聞いています。そして、それを何度も繰り返します。これは正しいです?

また、SmtpClient はどのように機能しますか?それは、それ自体の存続期間にわたって接続を開きますか? (IDisposable ではないので、そのようには見えません) それとも、送信される電子メールごとに接続を開きますか? それとも、常に接続が開いていますか? それとも、適切なときに接続を開閉する魔法がありますか?

SmtpClientを開始する方法を知っているので、知りたいです。シングルトンとして、またはメッセージのチャンクのみ...

0 投票する
1 に答える
1400 参照

asp.net - Independentsoftが生成した.msgメッセージは転送時に添付ファイルを失います

正直なところ、最初はプログラミングの問題だとは思わなかったという問題がありますが、他のすべての領域を確認した後、これが1つである可能性がある場合は、フィードバックをいただければ幸いです。

添付ファイル付きの電子メールをユーザーに送信するASP.NETWebアプリケーションがあります。送信されると、メッセージはSharePointに.msgファイルとして保存されます。これらはすべて正しく確実に機能します。

私たちが見つけた問題は、ユーザーが.msgファイルを開いて(つまり、SharePointからダウンロードして)転送すると、添付ファイルが電子メールから削除されることです。添付ファイルは.msgファイルにあり、開いて表示することができます。問題は、添付ファイルを転送した場合にのみ発生します(ドキュメントを転送するとドキュメントが消えます)。

ユーザーはOutlook(さまざまなバージョン)とInternetExplorerを使用しています。

プログラミング以外の説明を排除するために、次のことを試みました。

  1. 送信された実際の電子メールを転送します-これは機能します(つまり、添付ファイルは保持されます)
  2. msgファイルからコンテンツと添付ファイルを取得し、送信してから転送します-これは機能します
  3. このメールを受け取り、SharePointにアップロードし、ダウンロードして転送します-これは機能します
  4. 生成された.msgファイルを取得し、ローカルに保存します。開いて転送-これは機能しません
  5. SharePointから生成された.msgファイルを開きます-これは機能しません
  6. 適切な信頼/イントラネット設定をすべて変更します-違いはありません
  7. 生成された.msgを転送します-受信したときにファイルがまだ欠落しています

電子メールは標準のSmtpClient機能を使用して送信されますが、これは私が対処する必要のある領域ではないと思います*。Independentsoftと呼ばれるサードパーティコンポーネントを使用して.msgファイルを生成しています。これは、支援が必要な領域である可能性が高いと思います。

このための抽出はかなり単純です:

これを引き起こしている可能性のあるものについての考えは大歓迎です

0 投票する
3 に答える
4575 参照

c# - 電子メール (System.Net.Mail.SmtpClient) の添付ファイルにナイス ネームを設定する方法

C# で System.Net.Mail.SmtpClient を使用して添付ファイルを送信しています。
添付ファイル名は、添付コンストラクタに渡すファイルの名前と同じです

添付ファイルに「素敵な」名前を設定するにはどうすればよいですか? 私が現在持っている名前は基本的に、どのレポートの発生が添付されているかを示す数値 ID です。私のユーザーは、"results.xls" のようなより使いやすいものを探しています。

0 投票する
2 に答える
6786 参照

email - SmtpClientによって使用されるリソースを適切に破棄する

ユーザーの資格情報を使用して継続的に実行されるC#サービスがあります(つまり、ローカルシステムとしてではありません-変更したいのですが、これを変更することはできません)。ほとんどの場合、サービスは正常に実行されているように見えますが、明確な理由もなく爆破して再起動することがよくあります(サービサーマネージャーはクラッシュ時にサービスを再起動するように設定されています)。

私は実質的なイベントロギングを行っており、例外処理への階層化されたアプローチがあり、少なくともある種の意味があると信じています。

  • 基本的に、最上位の汎用例外、null例外、および起動例外ハンドラーを取得しました。
  • 次に、「コマンドレベル」(つまり、サービスが実行する特定のアクション)でさまざまなハンドラーを取得しました。
  • 最後に、クラスレベルで処理されるいくつかの例外を処理します

リソースが適切にリリースされていないかどうかを調べていましたが、自分のメールコード(メールの送信)が疑われ始めています。MailMessageオブジェクトに対してDisposeを呼び出していないことに気付き、次のようにSendMailコードを書き直しました。

基本的な質問は次のとおりです。

  • このコードは、メールの送信に使用されるすべてのリソースを適切に解放しますか?
  • SmtpClientオブジェクトを破棄する方法がわかりませんか?
  • (記録のために:私はサンプルを読みやすくするためにオブジェクト初期化子を使用していません)
0 投票する
6 に答える
62362 参照

c# - SmtpClientを使用してインラインで画像を含むメールを送信するC#

SmtpClient() を使用すると、メールに添付ファイルを追加できますが、添付ファイルではなく、メールを開いたときに画像を表示したい場合はどうすればよいでしょうか?

私が覚えているように、それは約 4 行のコードで実行できますが、方法を覚えておらず、MSDN サイトでも見つけることができません。

編集:私はウェブサイトなどを使用していません。IPアドレスも使用していません。イメージはハードドライブにあります。送信されると、それらはメールの一部になるはずです。だから、タグを使いたいと思うかもしれません...しかし、私のコンピュータはブロードキャストしていないので、よくわかりません.

0 投票する
6 に答える
4012 参照

c# - メールの送信はサーバーでは機能しますが、ローカルマシンでは機能しません

私は以下のコードを持っています(私は本名を公開しないためにxxxで立ち往生しています)。このコードは、サーバーにアップロードすると正常に機能し、メールを完全に送信します。

しかし、Visual Studioのマシンでローカルにテストすると、エラーが発生します。

[SocketException(0x274d):ターゲットマシンがアクティブに拒否したため、接続できませんでした66.226.21.251:25] System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot、SocketAddress socketAddress)+239System.Net.Sockets.Socket。 InternalConnect(EndPoint remoteEP)+35 System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure、Socket s4、Socket s6、Socket&socket、IPAddress&address、ConnectSocketState state、IAsyncResult asyncResult、Int32 timeout、Exception&exception)+224

[WebException:リモートサーバーに接続できません] System.Net.ServicePoint.GetConnection(PooledStream PooledStream、オブジェクト所有者、ブール非同期、IPAddress&アドレス、Socket&abortSocket、Socket&abortSocket6、Int32タイムアウト)+5420699 System.Net.PooledStream.Activate(オブジェクトowningObject、ブール非同期、Int32タイムアウト、GeneralAsyncDelegate asyncCallback)+202 System.Net.PooledStream.Activate(Object owningObject、GeneralAsyncDelegate asyncCallback)+21 System.Net.ConnectionPool.GetConnection(Object owningObject、GeneralAsyncDelegate asyncCallback、Int32 CreationTimeout)+332システム.Net.Mail.SmtpConnection.GetConnection(String host、Int32 port)+160 System.Net.Mail.SmtpTransport.GetConnection(String host、Int32 port)+159

これが機能しない理由の提案

0 投票する
3 に答える
2435 参照

smtpclient - System.Net.Mail.SmtpClient.Sendは同期していますか?

SmtpClientに私が使用していないSendAsyncメソッドがあることを考えると、StmpClient.Sendが同期していると想定しても安全ですか?一時ファイルを添付したメールを送信しているのですが、すぐに削除できるか知りたいです。

ありがとう、ロブ。