3

我正在使用 SOAP 合作伙伴 API,并且我有一个开发人员版本。我正在使用 API 创建用户。在创建用户后,我想通过电子邮件向这些用户发送临时密码,他们可以使用该密码登录到 SalesForce。

这是我的代码:

SaveResult[] results = connection.create(new SObject[] { user });

if (results[0].isSuccess())
{
out.println("Created user: " + results[0].getId());

//connection.setPassword(results[0].getId(), "password");
ResetPasswordResult rpr = connection.resetPassword(results[0].getId());
String result = rpr.getPassword();
  System.out.println("The temporary password for user ID " + results[0].getId()
        + " is " + result);
}
else
{
out.println("Error: " + results[0].getErrors()[0].getStatusCode() + 
                   ":" + results[0].getErrors()[0].getMessage());
}

这是我在控制台中得到的输出:

The temporary password for user ID 005E0000000MwkZIAS is ucQD2PADs

但是,用户没有收到任何密码。:-(

谢谢,

瓦普劳

4

2 回答 2

3

如果您在soap 请求中构建并传递一个EmailHeader,您可以控制从您的请求中发送哪些类型的电子邮件。

看起来您正在使用 WSC,因此您可以在调用 resetPassword 之前添加此调用,这将使电子邮件能够发送给用户。这应该会发送标准的重置密码电子邮件。

connection.setEmailHeader(false, false, true);
于 2012-09-27T15:52:02.987 回答
-1

使用此类发送电子邮件。在要发送给用户的字符串中包含 pwd 变量。有一个例子说明了一切

http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_classes_email_outbound.htm

于 2012-09-27T15:14:43.133 回答