如何使用API​​通过电子邮件向SalesForce用户发送临时密码?

时间:2012-09-27 13:53:34

标签: api soap salesforce

我正在使用SOAP Partner API,我有一个Developer Edition。我正在使用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

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

谢谢,

Wap Rau

2 个答案:

答案 0 :(得分:3)

如果你建立&在您的肥皂请求中传递EmailHeader,您可以控制从您的请求中发送的电子邮件类型。

您似乎正在使用WSC,因此您可以在调用resetPassword之前添加此调用,这将启用发送给用户的电子邮件。然后应该发送标准的重置密码电子邮件。

connection.setEmailHeader(false, false, true);

答案 1 :(得分:-1)

使用此课程发送电子邮件。在要发送给用户的字符串中包含pwd变量。有一个例子可以解决所有问题

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