Concurrent requests to send emails will generate duplicate emails, and the number does not match.
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 25/100
Direção de pesquisa
Comece pelo ponto de entrada fornecido @PostMapping("/test") e por GraphEmailSender.testInfo(), depois reproduza as 160 solicitações sendMail simultâneas usando o código mostrado do cliente Microsoft Graph. Compare as contagens de solicitações e entregas para determinar se o comportamento está no SDK ou na aplicação chamadora. Está concluído quando houver um defeito reproduzível no SDK com um teste focado ou evidências claras de que nenhuma alteração no SDK é indicada.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Hello!
I used Postman to iterate 160 times to send emails, and actually received 160+ emails. The number of emails received is random and does not match the number, which means duplicate emails are generated.
@PostMapping("/test") public void SysEmailController() { GraphEmailSender.testInfo(); }
`
import com.azure.identity.ClientSecretCredential;
import com.azure.identity.ClientSecretCredentialBuilder;
import com.microsoft.graph.models.EmailAddress;
import com.microsoft.graph.models.ItemBody;
import com.microsoft.graph.models.Message;
import com.microsoft.graph.models.Recipient;
import com.microsoft.graph.serviceclient.GraphServiceClient;
import com.microsoft.graph.users.item.sendmail.SendMailPostRequestBody;
import java.util.Collections;
import java.util.List;
public class GraphEmailSender {
// 配置参数
private static final String CLIENT_ID = "";
private static final String CLIENT_SECRET = "";
private static final String TENANT_ID = "";
private static final String SENDER_EMAIL = "";
private static final String[] SCOPES = new String[] { "https://graph.microsoft.com/.default" };
private static GraphServiceClient graphClient;
static {
try {
final ClientSecretCredential credential = new ClientSecretCredentialBuilder()
.clientId(CLIENT_ID)
.tenantId(TENANT_ID)
.clientSecret(CLIENT_SECRET)
.build();
if (null == credential) {
throw new Exception("Unexpected error");
}
graphClient = new GraphServiceClient(credential, SCOPES);
} catch (Exception e) {
System.err.println("init GraphServiceClient error: " + e.getMessage());
e.printStackTrace();
}
}
public static void testInfo() {
try {
Message message = new Message();
message.setSubject("test mail - Microsoft Graph API");
ItemBody body = new ItemBody();
body.setContent("Microsoft Graph API mail。");
message.setBody(body);
Recipient recipient = new Recipient();
EmailAddress emailAddress = new EmailAddress();
emailAddress.setAddress("");
recipient.setEmailAddress(emailAddress);
List<Recipient> recipients = Collections.singletonList(recipient);
message.setToRecipients(recipients);
SendMailPostRequestBody sendMailPostRequestBody =
new SendMailPostRequestBody();
sendMailPostRequestBody.setMessage(message);
//
graphClient.users()
.byUserId(SENDER_EMAIL)
.sendMail()
.post(sendMailPostRequestBody);
System.out.println("send success!"+Thread.currentThread());
} catch (Exception e) {
System.err.println("error: " + e.getMessage());
e.printStackTrace();
}
}
}`
- Linguagem predominante
- Java
- Estrelas
- 444
- Forks
- 154
- Merge médio
- 18h 28min
- PRs com merge (30d)
- 4
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de microsoftgraph/msgraph-sdk-java
-
status:waiting-for-triage type:bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
microsoftgraph/msgraph-sdk-java#2610 ·
-
status:waiting-for-triage type:bug
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
microsoftgraph/msgraph-sdk-java#2656 ·
-
status:waiting-for-triage type:bug
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 38/100
microsoftgraph/msgraph-sdk-java#2654 ·
-
status:waiting-for-triage
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
microsoftgraph/msgraph-sdk-java#2639 ·
-
Error in PATCH onlineMeeting Abertastatus:waiting-for-triage type:bug
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
microsoftgraph/msgraph-sdk-java#2589 · 1 comentário ·
Todas as issues de microsoftgraph/msgraph-sdk-java
Issues semelhantes
-
area-deployment area-integrations triage:bot-seen
Dificuldade 2/5 Meio dia Facilidade para iniciantes 86/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
apache/flink-agents#1156 ·
-
[source-shopify] FAILED bulk operation without partialDataUrl is silently treated as successful Abertaarea/connectors autoteam community connectors/source/shopify needs-triage team/use type/bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100