我正在使用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
答案 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