如何使用APEX代码拆分电子邮件正文?

时间:2019-11-27 09:26:29

标签: salesforce

我有一个条件,我们需要创建电子邮件以进行引导。现在,对于简单的电子邮件正文,我可以创建线索,但是当正文稍有不同时,我会在顶点收到一个错误,指出列表索引超出范围。

需要创建线索的电子邮件正文为:

通过ABC页面提交新表单。

名称:测试

电子邮件:test@gmail.com

消息:

嗨..我正在寻找abc产品 。请通过以下电话与我联系。

电话号码:

09884025209

- 问候, 签名(收到电子邮件时可能会出现,也可能不会出现)。

我正在使用的代码是:

if(email.plainTextBody != Null && email.plainTextBody != ''){
                String[] emailBodyRows = email.plainTextBody.split('\n');
                for (String bodyRow:emailBodyRows) {
                    System.debug('bodyRow: ' + bodyRow);
                    String[] rowContents = bodyRow.split(':');
                    String label = rowContents[0].trim();
                    System.debug('label: ' + label);
                    String value = rowContents[1].trim();
                    System.debug('value: ' + value);
                    switch on label {
                        when 'Name' {
                            String[] fullName = value.split(' ');
                            String firstName = fullName.size() > 0 ? fullName[0] : value;
                            String lastName = fullName.size() > 0 ? fullName[1] : value;
                            l.LastName = value;
                            l.Company = 'ABC'; // "Company" is required                        
                        }   
                        when 'Phone' {  
                            l.Phone = value;
                        }
                        when 'Message' {
                            l.Description = value;
                        }
                        when 'Email' {        
                            l.Email = value;
                            // NOTE: if you wanted to get the ACTUAL from address, you could use email.fromAddress - but it looks like you don't want to.
                        }
                        when 'Address' {
                            l.Address = value;
                        }
                    }            
                    l.LeadSource = 'Email';

                }
            }

我要做的是:从电子邮件正文中获取姓名,电子邮件,电话和消息,并将其置于线索中,并丢弃电子邮件正文中出现的所有其他单词。

0 个答案:

没有答案