我有一个条件,我们需要创建电子邮件以进行引导。现在,对于简单的电子邮件正文,我可以创建线索,但是当正文稍有不同时,我会在顶点收到一个错误,指出列表索引超出范围。
需要创建线索的电子邮件正文为:
通过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';
}
}
我要做的是:从电子邮件正文中获取姓名,电子邮件,电话和消息,并将其置于线索中,并丢弃电子邮件正文中出现的所有其他单词。