首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从组发送入站电子邮件服务不起作用

从组发送入站电子邮件服务不起作用
EN

Stack Overflow用户
提问于 2012-07-10 07:32:19
回答 1查看 1.7K关注 0票数 0

我编写了一个Apex类,它将收到的电子邮件转换为引线,并根据toAddress指定所有者(我知道,这很好--谢谢^^ )

当发送到emailService生成的地址时,它工作得很好。但是,为了使我的用户看不到这些地址,我在我们的邮件服务器(例如google)中创建了一个别名组,并给这个名称一个更合适的/可读的名称。这里是上课休息的地方。

第一个调试代码是带有直接地址的,如您所见,SOQL返回1行(应该是这样)。

代码语言:javascript
复制
10:21:15.091 (91499000)|SOQL_EXECUTE_BEGIN|[33]|Aggregations:0|select Id from User where Alias = :tmpVar1
10:21:15.097 (97818000)|SOQL_EXECUTE_END|[33]|Rows:1

第二个日志,在使用th elias/group时(组中的唯一地址与第一个示例中的地址相同),但这一次,SOQL没有返回任何内容。

代码语言:javascript
复制
10:14:46.127 (127098000)|SOQL_EXECUTE_BEGIN|[33]|Aggregations:0|select Id from User where Alias = :tmpVar1
10:14:46.132 (132488000)|SOQL_EXECUTE_END|[33]|Rows:0

我想这是谷歌转换/创建/转发电子邮件的方式?

有人有主意吗?

好的,更多的信息。

我已经执行了完全调试。我认为toAddresses[]中既有原始地址(组),也有列表中的每一封电子邮件。因此,我必须调整我的代码,以检查和检查我使用的已知字符串(铅)的开头。

我仍然有一个错误,这是一些相关的代码。注意:我正在寻找地址:lead.alias.leadsource@blablablabla.apex.salesforce.com

这是我的相关Apex代码:

代码语言:javascript
复制
        Boolean isMissing = true;
        Integer i = 0;

        // if many toAddresses look for the one with : lead at the beginning
        while (isMissing && i-1 < email.toAddresses.size() ){
            sourceText = email.toAddresses[i].split('@');
            mParams = sourceText[0].split('\\.');

            if (mParams[0] == 'lead')
                isMissing = false;
            else
                i++;
        }

以下是调试日志中的行:一些澄清:test.processor@optite.是我创建的小组。它包含一封电子邮件: lead.saarm.processr@.......apex.salesforce.com邮件。

代码语言:javascript
复制
11:07:13.144 (144793000)|VARIABLE_ASSIGNMENT|[-1]|this.subject|"Re: test"|0x702f2bd6
11:07:13.144 (144808000)|HEAP_ALLOCATE|[EXTERNAL]|Bytes:5
11:07:13.144 (144813000)|HEAP_ALLOCATE|[EXTERNAL]|Bytes:68
11:07:13.144 (144831000)|VARIABLE_ASSIGNMENT|[-1]|this.plainTextBodyIsTruncated|false|0x702f2bd6
11:07:13.144 (144860000)|HEAP_ALLOCATE|[EXTERNAL]|Bytes:34
11:07:13.144 (144865000)|HEAP_ALLOCATE|[EXTERNAL]|Bytes:68
11:07:13.144 (144887000)|VARIABLE_ASSIGNMENT|[-1]|this.toAddresses|["test.processor@optit (6 more) ..."]|0x702f2bd6
11:07:13.144 (144907000)|HEAP_ALLOCATE|[EXTERNAL]|Bytes:292
11:07:13.144 (144912000)|HEAP_ALLOCATE|[EXTERNAL]|Bytes:68
11:07:13.144 (144936000)|VARIABLE_ASSIGNMENT|[-1]|this.references|["\u003CCAEYMRoxMYKDfEjM1Lf (48 more) ...","\u003CCAEYMRoxwwWamgU-oss (48 more) ...","\u003CCAEYMRowxqwP2iBeRp7 (48 more) ...","\u003CCAEYMRox1LY1ws9D370 (48 more) ..."]|0x702f2bd6
11:07:13.144 (144955000)|HEAP_ALLOCATE|[EXTERNAL]|Bytes:17
11:07:13.144 (144960000)|HEAP_ALLOCATE|[EXTERNAL]|Bytes:68
11:07:13.144 (144971000)|VARIABLE_ASSIGNMENT|[-1]|this.replyTo|"saar@mail.com"|0x702f2bd6
11:07:13.144 (144985000)|HEAP_ALLOCATE|[EXTERNAL]|Bytes:17
11:07:13.144 (144989000)|HEAP_ALLOCATE|[EXTERNAL]|Bytes:68
11:07:13.145 (145000000)|VARIABLE_ASSIGNMENT|[-1]|this.fromAddress|"saar@mail.com"|0x702f2bd6
11:07:13.145 (145017000)|HEAP_ALLOCATE|[EXTERNAL]|Bytes:15
11:07:13.145 (145025000)|HEAP_ALLOCATE|[EXTERNAL]|Bytes:68
11:07:13.145 (145044000)|VARIABLE_ASSIGNMENT|[-1]|this.fromName|"Saar "|0x702f2bd6
11:07:13.145 (145067000)|HEAP_ALLOCATE|[EXTERNAL]|Bytes:1864
11:07:13.145 (145076000)|HEAP_ALLOCATE|[EXTERNAL]|Bytes:68
11:07:13.145 (145104000)|VARIABLE_ASSIGNMENT|[-1]|this.htmlBody|"\u003Cdiv dir=\"ltr\"\u003E\u003Cbr c (1844 more) ..."|0x702f2bd6
11:07:13.145 (145131000)|HEAP_ALLOCATE|[EXTERNAL]|Bytes:68
11:07:13.145 (145139000)|HEAP_ALLOCATE|[EXTERNAL]|Bytes:68
11:07:13.145 (145164000)|VARIABLE_ASSIGNMENT|[-1]|this.messageId|"\u003CCAEYMRowEZ3CLdTQKJU (48 more) ..."|0x702f2bd6
11:07:13.145 (145192000)|HEAP_ALLOCATE|[EXTERNAL]|Bytes:5
11:07:13.145 (145201000)|HEAP_ALLOCATE|[EXTERNAL]|Bytes:68
11:07:13.145 (145221000)|VARIABLE_ASSIGNMENT|[-1]|this.htmlBodyIsTruncated|false|0x702f2bd6
11:07:13.145 (145651000)|HEAP_ALLOCATE|[EXTERNAL]|Bytes:56
11:07:13.145 (145661000)|HEAP_ALLOCATE|[EXTERNAL]|Bytes:12
11:07:13.145 (145679000)|VARIABLE_ASSIGNMENT|[-1]|this.fromAddress|"test.processor+bncCO (36 more) ..."|0x5dee72ee
11:07:13.145 (145695000)|HEAP_ALLOCATE|[EXTERNAL]|Bytes:103
11:07:13.145 (145700000)|HEAP_ALLOCATE|[EXTERNAL]|Bytes:12
11:07:13.145 (145712000)|VARIABLE_ASSIGNMENT|[-1]|this.toAddress|"lead.saarm.processor (83 more) ..."|0x5dee72ee
11:07:13.146 (146435000)|EXECUTION_STARTED
11:07:13.146 (146447000)|CODE_UNIT_STARTED|[EXTERNAL]|01pD0000001EXM9|ProcessInboundEmail.handleInboundEmail
11:07:13.146 (146563000)|HEAP_ALLOCATE|[EXTERNAL]|Bytes:1
11:07:13.146 (146583000)|METHOD_ENTRY|[6]|01pD0000001EXM9|ProcessInboundEmail.ProcessInboundEmail()

下面是while循环中的一些调试,我觉得这里有些地方不对劲,因为我看到了超出界限的错误,但不能指出它。

代码语言:javascript
复制
11:07:13.147 (147847000)|LIMIT_USAGE|[30]|SCRIPT_STATEMENTS|8|200000
11:07:13.147 (147861000)|VARIABLE_SCOPE_BEGIN|[30]|i|Integer|false|false
11:07:13.147 (147867000)|HEAP_ALLOCATE|[30]|Bytes:8
11:07:13.147 (147875000)|VARIABLE_ASSIGNMENT|[30]|i|0
11:07:13.147 (147912000)|SYSTEM_METHOD_ENTRY|[33]|LIST<String>.size()
11:07:13.147 (147951000)|SYSTEM_METHOD_EXIT|[33]|LIST<String>.size()
11:07:13.147 (147962000)|STATEMENT_EXECUTE|[33]
11:07:13.147 (147966000)|STATEMENT_EXECUTE|[34]
11:07:13.147 (147970000)|LIMIT_USAGE|[34]|SCRIPT_STATEMENTS|9|200000
11:07:13.147 (147984000)|HEAP_ALLOCATE|[34]|Bytes:26
11:07:13.147 (147996000)|HEAP_ALLOCATE|[34]|Bytes:1
11:07:13.148 (148042000)|HEAP_ALLOCATE|[34]|Bytes:12
11:07:13.148 (148049000)|HEAP_ALLOCATE|[34]|Bytes:1
11:07:13.148 (148061000)|HEAP_ALLOCATE|[34]|Bytes:37
11:07:13.148 (148085000)|VARIABLE_ASSIGNMENT|[34]|sourceText|["test.processor","optitex.com"]|0x14c8551b
11:07:13.148 (148094000)|STATEMENT_EXECUTE|[35]
11:07:13.148 (148098000)|LIMIT_USAGE|[35]|SCRIPT_STATEMENTS|10|200000
11:07:13.148 (148109000)|HEAP_ALLOCATE|[35]|Bytes:14
11:07:13.148 (148117000)|HEAP_ALLOCATE|[35]|Bytes:2
11:07:13.148 (148133000)|HEAP_ALLOCATE|[35]|Bytes:12
11:07:13.148 (148137000)|HEAP_ALLOCATE|[35]|Bytes:2
11:07:13.148 (148147000)|HEAP_ALLOCATE|[35]|Bytes:25
11:07:13.148 (148164000)|VARIABLE_ASSIGNMENT|[35]|mParams|["test","processor"]|0x43cf0468
11:07:13.148 (148175000)|HEAP_ALLOCATE|[37]|Bytes:4
11:07:13.148 (148182000)|HEAP_ALLOCATE|[37]|Bytes:4
11:07:13.148 (148215000)|STATEMENT_EXECUTE|[40]
11:07:13.148 (148220000)|LIMIT_USAGE|[40]|SCRIPT_STATEMENTS|11|200000
11:07:13.148 (148226000)|HEAP_ALLOCATE|[40]|Bytes:8
11:07:13.148 (148238000)|VARIABLE_ASSIGNMENT|[40]|i|1
11:07:13.148 (148258000)|SYSTEM_METHOD_ENTRY|[33]|LIST<String>.size()
11:07:13.148 (148270000)|SYSTEM_METHOD_EXIT|[33]|LIST<String>.size()
11:07:13.148 (148278000)|STATEMENT_EXECUTE|[33]
11:07:13.148 (148282000)|STATEMENT_EXECUTE|[34]
11:07:13.148 (148286000)|LIMIT_USAGE|[34]|SCRIPT_STATEMENTS|12|200000
11:07:13.148 (148368000)|HEAP_ALLOCATE|[34]|Bytes:31
11:07:13.148 (148405000)|VARIABLE_SCOPE_BEGIN|[64]|e|Exception|true|false
**It**
11:07:13.148 (148527000)|STATEMENT_EXECUTE|[64]
11:07:13.148 (148532000)|STATEMENT_EXECUTE|[65]
11:07:13.148 (148536000)|LIMIT_USAGE|[65]|SCRIPT_STATEMENTS|13|200000
11:07:13.148 (148546000)|HEAP_ALLOCATE|[65]|Bytes:5
11:07:13.148 (148566000)|VARIABLE_ASSIGNMENT|[65]|this.success|false|0x10d7a7dd
11:07:13.148 (148573000)|STATEMENT_EXECUTE|[66]
11:07:13.148 (148576000)|LIMIT_USAGE|[66]|SCRIPT_STATEMENTS|14|200000
11:07:13.148 (148584000)|HEAP_ALLOCATE|[66]|Bytes:18
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-10 10:23:39

好吧,我猜从你发布的信息来看,异常是由行引起的

代码语言:javascript
复制
while (isMissing && i-1 < email.toAddresses.size() ){

这将导致一个越界异常,因为i将在中断while循环之前与email.toAddressess.size()相等。

您可以重写这个循环,使其更安全一些,如下所示

代码语言:javascript
复制
Boolean isMissing = true;
for(Integer i=0; i < email.toAddresses.size(); i++){
    if(email.toAddresses[i].startsWith('lead.'){
        isMissing = false;
        break;
    }
}

我不确定这些是否解决了您的第一个问题,但希望删除异常将有助于揭示潜在的问题。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11408580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档