Search in sources :

Example 1 with Message

use of com.microsoft.graph.models.Message in project msgraph-sdk-java by microsoftgraph.

the class OutlookTests method testSendMail.

@Test
public void testSendMail() {
    TestBase testBase = new TestBase();
    User me = testBase.graphClient.me().buildRequest().get();
    Recipient r = new Recipient();
    EmailAddress address = new EmailAddress();
    address.address = me.mail;
    r.emailAddress = address;
    Message message = new Message();
    message.subject = "Test E-Mail";
    message.from = r;
    ArrayList<Recipient> recipients = new ArrayList<Recipient>();
    recipients.add(r);
    message.toRecipients = recipients;
    testBase.graphClient.me().sendMail(UserSendMailParameterSet.newBuilder().withMessage(message).withSaveToSentItems(true).build()).buildRequest().post();
}
Also used : User(com.microsoft.graph.models.User) Message(com.microsoft.graph.models.Message) ArrayList(java.util.ArrayList) Recipient(com.microsoft.graph.models.Recipient) EmailAddress(com.microsoft.graph.models.EmailAddress) Test(org.junit.jupiter.api.Test)

Example 2 with Message

use of com.microsoft.graph.models.Message in project msgraph-sdk-java by microsoftgraph.

the class OutlookTests method uploadEmailAsDraftWithAttachmentThenSend.

@Test
public void uploadEmailAsDraftWithAttachmentThenSend() {
    TestBase testBase = new TestBase();
    Message message = getMessage();
    Message m = testBase.graphClient.me().messages().buildRequest().post(message);
    assertNotNull(m);
    testBase.graphClient.me().messages(m.id).send().buildRequest().post();
}
Also used : Message(com.microsoft.graph.models.Message) Test(org.junit.jupiter.api.Test)

Example 3 with Message

use of com.microsoft.graph.models.Message in project msgraph-beta-sdk-java by microsoftgraph.

the class OutlookTests method createDraftMessage.

private Message createDraftMessage(TestBase testBase, String draftSubject) {
    User me = testBase.graphClient.me().buildRequest().get();
    Recipient r = new Recipient();
    EmailAddress address = new EmailAddress();
    address.address = me.mail;
    r.emailAddress = address;
    Message message = new Message();
    message.subject = draftSubject;
    ArrayList<Recipient> recipients = new ArrayList<Recipient>();
    recipients.add(r);
    message.toRecipients = recipients;
    message.isDraft = true;
    // Save the message as a draft
    return testBase.graphClient.me().messages().buildRequest().post(message);
}
Also used : User(com.microsoft.graph.models.User) Message(com.microsoft.graph.models.Message) ArrayList(java.util.ArrayList) Recipient(com.microsoft.graph.models.Recipient) EmailAddress(com.microsoft.graph.models.EmailAddress)

Example 4 with Message

use of com.microsoft.graph.models.Message in project msgraph-beta-sdk-java by microsoftgraph.

the class OutlookTests method testSendDraftWithLargeAttachements.

@Test
public void testSendDraftWithLargeAttachements() throws FileNotFoundException, IOException {
    TestBase testBase = new TestBase();
    // Attempt to identify the sent message via randomly generated subject
    String draftSubject = "Draft Test Message " + Double.toString(Math.random() * 1000);
    Message newMessage = createDraftMessage(testBase, draftSubject);
    File file = new File("src/test/resources/largefile10M.blob");
    AttachmentItem attachmentItem = new AttachmentItem();
    attachmentItem.attachmentType = AttachmentType.FILE;
    attachmentItem.name = file.getName();
    attachmentItem.size = file.length();
    attachmentItem.contentType = "application/octet-stream";
    InputStream fileStream = OutlookTests.class.getClassLoader().getResourceAsStream("largefile10M.blob");
    long streamSize = attachmentItem.size;
    UploadSession uploadSession = testBase.graphClient.me().messages(newMessage.id).attachments().createUploadSession(AttachmentCreateUploadSessionParameterSet.newBuilder().withAttachmentItem(attachmentItem).build()).buildRequest().post();
    LargeFileUploadTask<AttachmentItem> chunkedUploadProvider = new LargeFileUploadTask<>(uploadSession, testBase.graphClient, fileStream, streamSize, AttachmentItem.class);
    // Do the upload
    final LargeFileUploadResult<AttachmentItem> result = chunkedUploadProvider.upload(0, null, callback);
    assertNotNull(result);
    // Send the drafted message
    testBase.graphClient.me().mailFolders("Drafts").messages(newMessage.id).send().buildRequest().post();
}
Also used : Message(com.microsoft.graph.models.Message) FileInputStream(java.io.FileInputStream) InputStream(java.io.InputStream) LargeFileUploadTask(com.microsoft.graph.tasks.LargeFileUploadTask) UploadSession(com.microsoft.graph.models.UploadSession) File(java.io.File) AttachmentItem(com.microsoft.graph.models.AttachmentItem) Test(org.junit.jupiter.api.Test)

Example 5 with Message

use of com.microsoft.graph.models.Message in project msgraph-beta-sdk-java by microsoftgraph.

the class OutlookTests method getMessage.

public Message getMessage() {
    Message message = new Message();
    java.util.List<String> emails = Arrays.asList("test_email@test_domain.com");
    java.util.List<Recipient> listReceipient = new ArrayList<>();
    for (String email : emails) {
        EmailAddress emailAddress = new EmailAddress();
        emailAddress.address = email;
        Recipient recipient = new Recipient();
        recipient.emailAddress = emailAddress;
        listReceipient.add(recipient);
    }
    message.body = getItemBody();
    message.toRecipients = listReceipient;
    message.subject = "Test Message";
    message.id = "1234";
    return message;
}
Also used : Message(com.microsoft.graph.models.Message) ArrayList(java.util.ArrayList) Recipient(com.microsoft.graph.models.Recipient) EmailAddress(com.microsoft.graph.models.EmailAddress)

Aggregations

Message (com.microsoft.graph.models.Message)15 Test (org.junit.jupiter.api.Test)10 EmailAddress (com.microsoft.graph.models.EmailAddress)6 Recipient (com.microsoft.graph.models.Recipient)6 ArrayList (java.util.ArrayList)6 User (com.microsoft.graph.models.User)4 AttachmentItem (com.microsoft.graph.models.AttachmentItem)2 UploadSession (com.microsoft.graph.models.UploadSession)2 AttachmentCollectionPage (com.microsoft.graph.requests.AttachmentCollectionPage)2 AttachmentCollectionResponse (com.microsoft.graph.requests.AttachmentCollectionResponse)2 MessageCollectionPage (com.microsoft.graph.requests.MessageCollectionPage)2 LargeFileUploadTask (com.microsoft.graph.tasks.LargeFileUploadTask)2 File (java.io.File)2 FileInputStream (java.io.FileInputStream)2 InputStream (java.io.InputStream)2 ItemBody (com.microsoft.graph.models.ItemBody)1