問題タブ [postmark]

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 投票する
0 に答える
840 参照

python - Postmark API を使用して添付ファイルとして電子メールで送信するために、EPPlus Excel ファイルのバイト配列を文字列としてエンコードする

EPPlus を使用して、2 枚のシートとその中にいくつかのデータを含む Excel ファイルを作成しています。ExcelPackage クラスの GetAsByteArray() メソッドを使用して、これをバイト配列に変換できます。ExcelPackage コンストラクターを使用して、次のようにバイト配列から Excel ファイルを作成することもできます。

したがって、少なくともEPPlusに関する限り、バイト配列が実際にExcelパッケージ/ファイルを表していることはわかっています。そのため、Attachment オブジェクトを作成するエンドポイントにそのバイト配列を送信しようとしました。このオブジェクトは、contentType 用、コンテンツ用、ファイル名用の 3 つの文字列を受け取ります。contentType には、"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" MIME タイプを指定しています。コンテンツについては、Python の b64 モジュールを使用してバイト配列を b64 エンコードし、それをコンテンツとして渡します。

メールを受信すると、Excel ファイルが添付ファイルとして表示され、ダウンロードできます。しかし、ファイルを開こうとすると、次のエラー メッセージが表示されます。

「ファイル形式またはファイル拡張子が無効であるため、Excel はファイルを開くことができません。ファイルが破損していないこと、およびファイル拡張子がファイルの形式と一致していることを確認してください。」

Postmark の Attachment オブジェクト構造を考えると、コンテンツをどのように渡す必要がありますか? 具体的には、Excel ファイルのバイト配列構造を取得して、Excel ファイルの添付ファイルをダウンロードして開くときに、Gmail やその他の電子メール サービスが適切にデコードできるようにする文字列に変換するにはどうすればよいですか? Postmark API は特に、base64 でエンコードされた文字列を必要とします。しかし、b64でそれを試したところ、うまくいきませんでした。間違ったものをエンコードしていますか? バイト配列をエンコードする代わりに、Excel パッケージ自体をエンコードする必要がありますか?

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

ruby - Rails API のみのアプリケーションにビューのレンダリングのサポートを追加する

API のみの Rails アプリを作成しましたが、サード パーティのメール サービスを使用しているため、メール テンプレートを文字列にレンダリングしてメール サービスのラッパー gem に渡す必要があります。これまでのところ、テンプレートを文字列にレンダリングしようとすると、空の文字列が返されます。これは、アプリケーションが API のみとして構成されているためだと思われます。テンプレートを文字列にレンダリングするためのサポートを追加するにはどうすればよいですか?

そうでない場合は、お知らせください。消印メールサービスを利用しています。postmark-rails標準の Rails メーラーに統合される gem はまったく機能せず、プレーンなpostmarkgem (消印 SMTP サーバーの代わりに消印 API を使用) は正常に機能しますが、現在、私の問題は電子メールの適切な html を生成することです。

これは私がしようとしているものです:

しかし、空の文字列を返します。

私のセットアップにはRails 5.0.1ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]、 、およびSidekiq 4.2.7と を使用するプロダクション imが含まれます。運用環境は Azure 仮想マシンにデプロイされ、ポート 25、465、2525、および 587 を通過するトラフィックを許可するためのインバウンド ルールとアウトバウンド ルールの両方を追加しました。nginx/1.10.2Phusion Passenger 5.1.1

どんな助けでも本当に感謝しています。