実現:
・オブジェクトの「活動」を利用して、メールを送信する。
・上記のメールを受信した方、メールをそのまま返信すると、Salesforceのメールサービスを受信し、該当オブジェクトレコードに「活動」として追加し、添付ファイルも更新される。
・メール送信設定
・カスタマイズボタンを新規作成→ページレイアウトに追加する。
⇒ オブジェクト設定画面
メールテンプレートでも利用可能
例:

追加後のイメージ:

メール受信:
① メールサービス新規作成

//受信用のAPEXクラス
//メールの中身分析してオブジェクト更新用の項目を抽出してよいです。
global class DealInboundEmailForRecruit implements Messaging.InboundEmailHandler {
global Messaging.InboundEmailResult handleInboundEmail(Messaging.InboundEmail email, Messaging.InboundEnvelope envelope) {
Messaging.InboundEmailResult result = new Messaging.InboundEmailresult();
try {
//IDを取得する
String dataid = email.Subject.substringAfter('#').substringBefore('#');
FHR_Recruit__c r = [select Id from FHR_Recruit__c where id =:dataid];
String closedLabel = [select MasterLabel from TaskStatus where IsClosed = true limit 1].MasterLabel;
EmailMessage createEmail = new EmailMessage(
Subject = email.Subject
,relatedToId = r.Id
,Status = '0'
//,CcAddress = String.implode(',',email.ccAddresses)
,FromAddress = email.fromAddress
,ToAddress = email.toAddresses[0]
,FromName = email.fromName
,Headers = JSON.serialize( email.headers )
,HtmlBody = email.htmlBody
,TextBody = email.plainTextBody
,Incoming = true
,MessageDate = DateTime.now()
);
insert createEmail;
// メールの添付ファイルを、先ほど作成したTestObject__cのレコードに紐付け
List<Attachment> atts = new List<Attachment>();
List<Messaging.Inboundemail.Binaryattachment> batts = email.binaryAttachments;
if (batts != null && batts.size() > 0){
for (Messaging.Inboundemail.Binaryattachment batt: batts){
Attachment att = new Attachment();
// ファイル名を設定
att.name = batt.fileName;
// ファイルの内容を設定
att.Body = batt.body;
// 紐付け先を設定
att.ParentId = createEmail.id;
atts.add(att);
}
insert atts;
}
} catch(Exception e) {
system.debug(e.getMessage());
}
return result;
}
}
②Salesforceの受信メールメールアドレス新規作成する。そうしたら、このメールアドレス受信したメールを上記のapexクラスで処理されます。

Salesforceの受信用のメールアドレスわかりにくいので、
自社の送信アドレスから転送設定で自社のメールサーバにて設定してもよいです。
注意点:
メールサービスの制限があります。
送信制限と受信制限それぞれあります。
- Salesforce では、制限値は、ユーザライセンス数 x 1,000 で算出され、最大値は 1,000,000 です。たとえば、ライセンス数が 10 の場合、1 日最大 10,000 件のメールメッセージを処理できます。
- Sandbox 内に作成したメールサービスアドレスは、本番組織にコピーできません。
- メールサービスごとに Salesforce に通知して、送信者のメールアドレスではなく、特定のアドレスにエラーメールメッセージを送信できます。
- メールが (本文テキスト、本文 HTML および添付ファイルを合わせて) 約 25 MB を超える場合 (言語や文字セットに応じて異なる)、メールサービスはメールメッセージを拒否し、送信者に通知します。
参考リンク:
https://forcecom.hatenadiary.org/entry/20090622/inboundmail
https://www.iftc.co.jp/initiatives-post/2018/01/30/1190/
https://help.salesforce.com/articleView?id=sf.code_email_services_overview.htm&type=5
補足: メールテンプレートとクリクリテキストの使用
メールテンプレートの利用方法は、かなり時間がかかった探しましたが。。。。
以下のアイコンでできました。。

さらに便利なクイックテキストアイコン
