問題タブ [rfc822]
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.
c# - .NET で MailMessage オブジェクトをシリアル化するエレガントな方法
私は現在、C# で MailMessage オブジェクトをシリアル化することを検討しています。ネット上にはいくつかの例のバリエーションがありますが、それらはバイナリにシリアル化され、IMO のポイントを逃しています。
私のアプローチは、MailMessage を RFC2822 eml 文字列にシリアル化したいというもので、以下のコードは私が思いついたものです。
それはかなり厄介ですが、うまくいきます。ただし、理想的には、新しい SMTPClient を作成し、ファイル システムにヒットすることなく rfc822 文字列を自動的に返す Serialize 関数を追加します。
Visual Studio で SMTPClient.Send 関数を追跡できないように見えるので、この「理想的な」方法は少しトリッキーです。
Peter Huber の POP3MimeClient および POP3MailClient クラスにいくつかの小さな変更を加えて、RFC メッセージの逆シリアル化を既に整理して、HDD 上のファイルまたは文字列を逆シリアル化し、MailMessage に戻すことができるようにしました。
私を悩ませているのは、上記のコードのように GUID ベースのフォルダーを作成するために家を回る代わりに、ストリームを使用して MailMessaage をシリアル化し、そのストリームを自分の選択した文字列またはファイルに書き込むことができるはずだということです。ファイルの内容を文字列に読み込んでいます...
これをよりエレガントにする方法についての指針は大歓迎です。
ありがとう。
rfc822 - CRLF ではなく LF を使用する RFC822 メッセージを作成しても問題ありませんか?
RFC822/RFC2822 標準では、「ヘッダー フィールドは、フィールド名、コロン (':')、フィールド本体で構成される行であり、CRLF で終了する」と規定されています。
しかし、解析に進む前に、LF ("\n") を使用するペイロードを CRLF ("\r\n") に自動正規化するRFC822 MIME パーサーが少なくとも1 つはあります。
CRLF の代わりに LF を使用するために手作業で編集された可能性のあるデータをシリアル化するために RFC822 形式を使用することはどのくらい安全ですか? このデータをさまざまなプログラムに送信して、さまざまな RFC822 パーサー ライブラリで解析できると期待しても安全でしょうか?
php - PHP の DATE_RFC822 年表現が 4 桁でないことを RSS フィードが警告する
PHP で RSS フィードを作成しており、PHP のビルドDATE_RFC822
形式を使用して日付を設定しています。
これにより、次のようになります。
検証しようとすると合格しますが、次の推奨事項があります。
問題のある RFC 822 日時値: Tue, 01 Oct 13 10:10:00 +0200
このページには、さらに詳しい情報があります: Problematical RFC 822 date-time value :
指定する値は、RFC822 で定義されている日付と時刻の仕様を満たす必要がありますが、年は 4 桁で表現する必要があります。
年を 4 桁の値に更新するにはどうすればよいですか?
email-headers - 宛先アドレス要件が RFC 822 から RFC 2822 に変更された理由
RFC 822 では、セクション C.3.4 で宛先アドレスがヘッダーに表示される必要がありました。「メッセージには、少なくとも 1 つの宛先アドレス フィールドが含まれている必要があります。'To' と 'CC' には、少なくとも 1 つのアドレスが含まれている必要があります。」RFC 2822 および 5322 のセクション 3.6。どちらも、「必要なヘッダー フィールドは、発信日フィールドと発信者アドレス フィールドだけです」と書かれています。
この変更の背後にある理由が何であるかに興味があります。IETF がメーリング リストのアーカイブと議事録を持っていることは知っていますが、それがメーリング リストに記載されている場合、アーカイブを検索しても見つけるのに苦労します。
python - HTTP (および rfc822、電子メール) ヘッダー インジェクションを停止するには?
(検索エンジンを使用してもこれを簡単に見つけることができなかったので、いくつかの (できれば役立つ) 情報にアクセスできるようにするために、この質問をして (そして答えて) います。しかし、気軽に答えて有用な情報を追加してください :-))
PythonでHTTPヘッダーをどのようにエスケープ/引用できますか?
または、コンテキストエスケープ値が含まれていないことを確認するために、どのように検証できますか?
つまり、HTTP ヘッダーに対してはどのようにすればよいの でしょうか? HTML と URL に対してはcgi.escape
、urllib.quote
メソッド (およびサニタイズ) は何を行うのでしょうか? これは、 HTTP ヘッダー インジェクションや同様の悪用を防ぐために使用できます。
例えば...
リダイレクト先の URL を提供するユーザーがいます。インジェクション攻撃 (よく知られているのはSQL インジェクションです) から保護したいと考えています。(この議論のために) セキュリティ上の懸念 (ユーザーが選択できるドメイン内の URL への密かに自動転送に関する) はさておき、ヘッダーを使用しLocation:
てリダイレクトすることにした場合、HTTP ヘッダーを防ぐためにユーザーが指定した URL をどのようにエスケープできますか?インジェクション (または HTTP にとって危険な値が含まれているかどうかを検出します)?
ここで、コマンドを実装する Python コードでredirect_to
、上記のように入力して、エスケープする (無害にする) か、エラーにする必要があります。どうすればそうできますか?
java - Androidでマルチパートメッセージを送信する
Android で作成した rfc822 メッセージがあります。指定した受信者に電子メールで送信する必要があります。
これにより、GMail がNullPointerException
.
交換したら
と
メッセージ本文として rfc822 テキストを使用していますが、これは満足のいくものではありません。
Android メール システムを介してこのタイプのメッセージを送信する方法はありますか?
c - libCurl を使用して電子メール アドレスを検証し、RFC822 準拠を確認する方法
C で libCurl を使用して、アプリケーションに電子メール SMTP 通知を実装しようとしています。
通知を送信する前に、FROM アドレスと TO アドレスの両方で RFC 822 準拠を確認したいと考えています。
現在、私はJNI(JAVA javax.mail.internet.InternetAddressクラス)を使用してそれを行うことができます
ruby-on-rails - Rails 4 rfc822に対して電子メールを検証する方法
このようにメールをチェックするために、デフォルトの Rails EmailValidator を使用しています
メールバリデーター:
およびユーザーモデル:
しかし、これはキリル文字の電子メールを無効として捉えませんでした。このhttp://www.ex-parrot.com/pdw/Mail-RFC822-Address.htmlで正規表現を変更できることは知っていますが、gem などを使用して最も簡単な方法があるかどうか疑問に思っています。rfc-822 をインストールしましたが、使い方がわかりません。説明はこちらhttps://github.com/dim/rfc-822/blob/master/lib/rfc822.rb#L27はモデルに追加するように言っていますvalidates_format_of :email, :with => RFC822::EMAIL
が、私がそうすると、これが私が受け取るものです
NameError: uninitialized constant User::RFC822
私が欠けているものは何ですか?
php - mongodbのrfc 822タイムスタンプ形式フィールドでソートする方法は?
私の目的は、Mongodb に pubdate フィールドとして格納されている rfc 822 タイムスタンプ形式をソートすることです。多くのレコードをメモリに配置する必要があるため、PHP/Python を使用してすべてのレコードをフェッチし、それを使用してソートしたくありません。私は私のmongoフィールドがどのように見えるかを以下に例を挙げています。このように、何百万ものレコードがあります-
PHPによって呼び出されるpubdateフィールドでソートする必要があります