2011-11-11 13 views
4

私はPloneのに非常に新しいです、あなたはPloneのとPythonの両方に新しいものにもかかわらず、私はPloneの4Plone 4の電子メールにCC受信者を追加するにはどうすればよいですか?

で働いているタイトルラインで読むことができるよう、私が完全に動作するページを取得するために管理してきました私のWebサイトのユーザーが選択したメンバーにリッチテキストメールを送信します。 私がしたことは、sendto、sendto_form、sendto_templateを複製して名前を変更して、必要なものを得るために編集することです。

私はそれがかなりうまくいくと言いましたが、CC受信者を追加する必要がありますが、MailHost.send()メソッドはCCヘッダーを許可しません(そして、secureSendメソッドは許可しますが、 Plone 4で廃止予定のメソッド)。 また、ユーザーが添付ファイルを追加できるようにテンプレートを使用しましたが、テンプレートはHow to send mail with attachments in Plone using a template approach?にあります。

私はpython email.Header関数が必要な機能を果たしていることを知っていますが、ライブラリをインポートしようとすると権限が不十分です(管理者としてログインしています)。

私はまた、次のアプローチを使用することによってそれを回避しようとしました:

 templ="""Subject: %(subject)s 
From: "%(send_from_name)s" <%(envelope_from)s> 
To: %(send_to_address)s 
CC: %(send_cc_address)s 
Content-Type: text/html; charset=UTF-8 
Reply-To: %(send_from_address)s 

%(comment)s 
-- 
%(signature)s 
""" 

     message=templ % variables 
     context.MailHost.send(message.encode("utf-8"),encode="quoted-printable") 

それはほとんど正常に動作しますが、(イタリア語では非常に一般的です)アクセント付き文字を受け入れることができません。

アイデア?事前に

Thxを、

ルカ

答えて

2

あなたはPloneの中にTTWを使用することができ、安全なPythonのスクリプト環境の限界に達しています。このタイプのスクリプトでは、電子メールモジュールをインポートすることはできません。

MailHostオブジェクトの古いsecureSendメソッドは、 "send"メソッドとccパラメータを持たない最新バージョンで削除されたように見えるccのメソッドパラメータを持つために使用されました。

これは、cc部品を使用するために、コードをビューのファイルシステム上の製品に移動する必要があることを意味します。

関連する問題