0

Visualforce でサイトを開発しており、メールでフィードバックを送信するための簡単なフォームをユーザーに提供したいと考えています。名前、ユーザーの電子メール、理由、フィードバック、「送信」ボタンなどの 3 ~ 4 つのフィールドがあります。送信ボタンをクリックすると、そのメッセージが私のメール アドレスに自動的に送信されます。

少なくとも今のところ、フォーム データをセールスフォースに保存したくありません...オンラインで見つけた visualforce/apex と電子メールはすべて、そのデータをセールスフォースにも保存することに関するものです。

apex の電子メール機能を利用して、そのデータを Salesforce に保存せずに電子メールを送信することはできますか?

ありがとう、カルビン

4

1 に答える 1

1

VisualForceページでアクションを実行するときに、データベース内のレコードを挿入/更新/削除する必要はありません。送信メール機能を利用して通知を送信できます。このような場合は、SingleEmailMessageメソッドに慣れておくとよいでしょう。

あなたを動かすための簡単な例:

public PageReference actionSend() {
    String[] recipients = new String[]{'myemailaddress@somedomain.com'};
    Messaging.reserveSingleEmailCapacity(recipients.size());
    Messaging.SingleEmailMessage msg = new Messaging.SingleEmailMessage();
    msg.setToAddresses(recipients);
    msg.setSubject('Test Email Subject');
    msg.setHtmlBody('Test body including HTML markup');
    msg.setPlainTextBody('Test body excluding HTML markup');
    msg.setSaveAsActivity(false);
    msg.setUseSignature(false);
    Messaging.sendEmail(new Messaging.SingleEmailMessage[] {msg}, false);
    return null;
}

これらのアウトバウンドメッセージを専用の電子メールアドレス(noreply@somecompany.comなど)から送信する場合は、[設定]->[管理設定]->[電子メール管理]->[組織全体のアドレス]メニューから設定できます。組織全体のアドレスを作成したら、URLからIDを取得し、のsetOrgWideEmailAddressId(Id)インスタンスでメソッドを使用しますMessaging.SingleEmailMessage

于 2012-08-29T18:50:08.200 に答える