- 締切済み
多言語混在のメール (UTF-8) を一括自動送信したい
皆様、こんばんは。 多言語混在のメール (添付ファイル付き) をgmailから一括送信したいのですが、送信作業を自動化できるツールはありますか。 現在は、gamailから送信先アドレスをBCC指定して手作業で一括送信しています。 メールの本文中に日本語、簡体中文、繁體中文が混在しているため、UTF-8でエンコードするしかないのですが、UTF-8に対応したメールの自動送信ツールはありませんか。 (送信先はUTF-8対応のユーザーのみという前提) 多言語対応にこだわらないなら、Microsoft製のコンポーネントを使用してメール送信を自動化することは容易なのですが、UTF-8にエンコードする方法がわかりません。 何らかのツール、またはサンプルプログラムをご紹介頂ければ、自分で何とか対応できると思います。 プログラミングスキルは高いとは言えませんが、一通りはあります。 (VB6.0、VBA、Delphi、PHP等) gmailのAPIを駆使すれば、最悪全部自前で実装することも可能かもしれませんが、あまり手間を掛けるのでは省力化にならず、本末転倒とも思います。 情報をご存知の方、コメントをお待ちしております。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- notnot
- ベストアンサー率47% (4900/10358)
なるほど。誤解してました。 試してみました。やり方が悪いのかもしれませんが、VB+CDO.Messageを使う方法だと、Shift_JISかISO-2022-JPでないと文字コードがうまく変換されないみたいですね。 POPとお書きですが、POPは受信のプロトコルなので、実際に必要なのはSMTPプロトコルとメールヘッダの知識とMIMEの知識です。すべてをここに書くのは大変ですが、お使いのメールソフトで「ソースを表示する」機能があると思うので、メールヘッダの書き方と添付ファイルのMIMEによる構成はそれをみるとヘッダ形式とMIMEについては大体の所はわかるでしょう。それと同じ形式の物を作ればいいです。 PHPがわかると言うことなので、「PHP メール送信 添付ファイル」で検索するとサンプルが見つかると思います。そんなに難しくはないです。
- notnot
- ベストアンサー率47% (4900/10358)
多国語に対応した文字コード変換ツールとしてはiconvがあります。 もともとUnixのツールですが、検索するとWindowsのDLL/EXEもありますね。 私はWindowsにRuby-mswin32をインストールしているのでそこにiconv.exeが含まれています。iconv -l でサポートされている文字コードを見ると欧米語はもちろん、中国語、韓国語あたりは問題無さそうです。 iconv -f BIG-5 -t UTF-8 < infile > tofile のように言語ごとに個別に変換して、UTF-8にしたら単純につなぎ合わせればいいと思います。 もし、WindowsにPHPをインストールしているならそこにiconvが無いですかね?
お礼
差し迫った必要性がなかったため、長い間棚上げしたままでしたが、解決しました。 結論からいうと、VB + CDO ではUTF-8エンコードでメールを送信できないというのは誤りで、正しくプログラムを書けば可能でした。 文字数の関係上、コードの全文を書くことはできませんが、 CDO.Message.TextBody にVB形式の文字列 (内部形式はUnicode) を設定し、 CDO.Message.TextBodyPart.Charset プロパティの値を "utf-8" (定数名 cdoUTF_8) に設定すれば、問題なくUTF-8エンコードで送信できるのを確認しました。 ですので、遭えてSMTPを自前で実装する必要はないようです。 結果報告が遅くなり、申し訳ありませんでした。 ありがとうございました。
補足
情報提供ありがとうございます。 実は、文字コード変換だけなら、自前でも作れるのです。 VBでも他の言語でも、サンプルプログラムはいくらでもありますので。 ・・・というより、送信すべきコンテンツ自体、最初からUTF-8で作成してありますので、変換する必要がありません。 ですが、UTF-8の文字列をPOP3で送信する方法がわからないのです。 (質問の書き方が悪かったかもしれません) 多言語サポートの必要がなければ、Microsoft のコンポーネントを使うのが簡単で便利なのですが、UTF-8は上手くいかないようなのです。 といって、自前でPOP3を実装するのは大変だと思うので、既存のメール送信コンポーネントでUTF-8もサポートしているものがあれば、と思った次第です。 POP3の実装がそんなに時間を掛けずにできるのであれば、自分で調べてツール (コンポーネント) そのものを自前で実装するのもありかもしれませんが。
補足
ありがとうございます。 やはり自前で実装するしかありませんか。 POP3云々は私の勘違いで、正しくはご指摘の通り、SMTPでした。