use multiple parameters to an imap fetch request - command

I want the command syntaxe for imap to get juste header et text body from a message without attachments.
I have try this command but don't work :
UID FETCH uid (BODY[HEADER] BODY[1])
Thanks

There exists a raw fetch command to fetch mail data
UID FETCH 2 (BODY[]<0.size>)
for example if you want to fetch first 100 bytes of mail then you can fire a command as
UID FETCH 2 (BODY[]<0.100>)
but then you will have to parse the data yourself.

Related

How IMAP UID works when it crosses 4 billion mark?

As mentioned in the RFC3501 the max value of UID assigned to each mail is "4,294,967,296 (Non-zero unsigned 32-bit integer)", so what would happen if that UID value is crossed?
I am planning to fetch emails from IMAP server based on last UID fetched
imap.fetch(`${lastUID}:*`,cb)
As I understand, fetching mails using the last UID logic is most inclusive way of fetching new or recent mails for all type of email accounts (Gmail, Outlook) since Gmail does not allow the use of \Recent flag. So what will be the case when the UID reaches its maximum value and how can that situation be handled?

Fetch Email with Mailkit order by Date - need faster way

I need to fetch emails in batches from a mail box which has been through several migrations.
There was an email provider before, then the mail box was migrated to gmail and then to O365.
When I try to use UID, the emails are not fetched in reverse date order.
like this: IMailFolderObject.Fetch(startingUID, EndUID, MessageSummaryItemsObject);
To get emails in reverse date order through Mailkit, I tried to following.
var list = IMailFolderObject.Fetch(0, -1, MessageSummaryItems.Envelope | MessageSummaryItems.UniqueId).ToList();
list.Sort(new OrderBy[] { OrderBy.Date });
The emails are fetched but it takes a real long time to complete the job. Since the mailbox is really large.
I do not want to retrieve all the emails and sort them in my program.
Is there a way to get top 50 emails (sorted by date descending since I can not guarantee the UID order is not matching the order of date descending)
and the rest in batches of 50 in subsequent calls ?
Thanks for help in advance.
This is my first question so please let me know should there be more information.

Using Logic Apps, how can I input a formatted Table of results from an SQL Stored Procedure into SendGrid Email

Once a day, I need to run an SQL Stored Procedure, which collects a list of results. I then need to input the results, as a nice user friendly table, into an e-mail (SendGrid).
So far, I have setup all connections and got the Logic App to work but the e-mail it generates displays the results like this:
{"Table1":[{"CaseID":"1000001","DateOfUdate":"2020-06-09T11:34:57.483"},{"CaseID":"1000002","DateOfUdate":"2020-06-09T11:34:57.483"},{"CaseID":"1000003","DateOfUdate":"2020-06-09T11:34:57.483"},{"CaseID":"1000004","DateOfUdate":"2020-06-09T11:34:57.483"}]}
How can I get this to be displayed as a proper table?
Case ID DateofUpdate
1000001 2020-06-09T11:34:57.483
1000002 2020-06-09T11:34:57.483
1000003 2020-06-09T11:34:57.483
1000004 2020-06-09T11:34:57.483
Below are images of my Logic App - please let me know if I need to provide more information.
For this requirement, please refer to the steps I provided below:
1. I initialize a variable named "resultSetVar" and store the json data same to yours', use this variable to simulate your "ResultSets" data.
2. Then use "Parse JSON" action to parse the json data.
3. After that, use "Create HTML table" action to create the html with the json array "Table1" from the "Parse JSON" action.
4. At last, put the "Output" from "Create HTML table" action into the "Email body" box.
5. Running the logic app, I received the email shown as below
Hope it helps~

Joining two tables and fetching records in a single query in FQL

Hi i have written a query by which i can fetch posts,actor_id,comments and other columns required from stream table. But i want to fetch user's name also along with actor id and other columns in a single query.
My queries is :
select message,created_time,actor_id,attachment,comments,created_time,impressions,likes,message,message_tags,place,share_count from stream where source_id in (any_page_id)
I want to add user's name also from user table along with this list of columns i am fetching from stream table in a single query so that i can handle it in a single json file. .
Also in comments we will get several user's id with comments as from_id. Can we get username for this from_id also. Is this possible, i know we cannot use join in FQL. Or i am missing something or in a wrong approach. Please help me out. Thanks in advance.
Updated
Now i am able to get actor_id and other fields of the post together along with user's name at the end in the same json using multi-query. Something similar to :
fql?q={"query1":"select+message,created_time,actor_id,attachment,comments,created_time,impressions,likes,message,message_tags,place,share_count+from+stream+where+source_id+in(any_page_id)","query2":"select uid,name from user where uid in (*#query1* "}
But now i am not able to get the user's name and user's id who are there in the comments of the post in the same json.

Retrieve information from SoundCloud developer console

I am trying to download the information about this user : https://soundcloud.com/beeldengeluid/,
and about this group : https://soundcloud.com/groups/het-geluid-van-nederland through your developer console here : http://developers.soundcloud.com/console. The user - "Beeld en Geluid" has 2,230 records, but all my attempts to download the information ended with just 50 records. Are there any user specific constraints or some user key that I should use to retrieve all the information in .xml format from the developer console?
Thank you in advance.
there is no 'constraints' or 'some user key' for that. but you can use pagination:
http://developers.soundcloud.com/docs/api/guide#pagination
Every call is limited by 50 results. Use the offset parameter in the querystring to get the next 50 results and so on:
example... "...&offset=0&..."
Next 50 results would be retrieved by using "...&offset=50&..."
Put this in a loop in your code to get the complete list.