How can I read one message at a time from /var/mailmutt: mark as read and deletelocal email storage syncing to imap - mutt-friendlyWhere does Mutt put deleted messages if no purge is performed?How do postfix and mailx interact with mbox locking?How to receive meeting invitations from Office365, so that they can be parsed and added to a calendar?How do I save a reply to an MBOX email to the same MBOX file in mutt?How can I avoid 550 “Relaying denied” with postfix?Can I read /var/mail with a GUI?Mixing local and remote IMAP folders in Neo/Mutt and iSync?

Is multiplication of real numbers uniquely defined as being distributive over addition?

Improve survivability of bicycle container

Dropdowns & Chevrons for Right to Left languages

Does LaTeX redefine [some] TeX primitives?

How can I read one message at a time from /var/mail

How do I calculate the difference in lens reach between a superzoom compact and a DSLR zoom lens?

Acceptable to cut steak before searing?

What is the idiomatic way of saying “he is ticklish under armpits”?

How would I as a DM create a smart phone-like spell/device my players could use?

Word or idiom defining something barely functional

What happen if I gain the control of aura that enchants an opponent's creature? Would the aura stay attached?

As a 16 year old, how can I keep my money safe from my mother?

A question about 'reptile and volatiles' to describe creatures

Team goes to lunch frequently, I do intermittent fasting but still want to socialize

What method to use in a batch apex in order to get authentication token from a remote server?

Is it true that control+alt+delete only became a thing because IBM would not build Bill Gates a computer with a task manager button?

What word can be used to describe a bug in a movie?

Does a code snippet compile? Or does it gets compiled?

In the movie Harry Potter and the Order or the Phoenix, why didn't Mr. Filch succeed to open the Room of Requirement if it's what he needed?

Blocking people from taking pictures of me with smartphone

Can a College of Swords bard use Blade Flourishes multiple times in a turn?

Why should public servants be apolitical?

Why did the RAAF procure the F/A-18 despite being purpose-built for carriers?

Best gun to modify into a monsterhunter weapon?



How can I read one message at a time from /var/mail


mutt: mark as read and deletelocal email storage syncing to imap - mutt-friendlyWhere does Mutt put deleted messages if no purge is performed?How do postfix and mailx interact with mbox locking?How to receive meeting invitations from Office365, so that they can be parsed and added to a calendar?How do I save a reply to an MBOX email to the same MBOX file in mutt?How can I avoid 550 “Relaying denied” with postfix?Can I read /var/mail with a GUI?Mixing local and remote IMAP folders in Neo/Mutt and iSync?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








3















Lets say I have 5 messages in /var/mail/ and I want to read one message at a time and then do some string search in that mail before moving on to the next message. Is there a command that I can use to parse one message at a time ?



I am looking to write a bash script which will read all messages in an mbox file & then read them one at a time so that I can then extract Subject, To, From & Status of the message(bounceback code). My plan was to use grepmail to get count of emails in the file and then use this count in a for loop to get one mail at a time and them perform operation on the text. Something like:



$count = grepmail -r . /var/mail/user | awk 'print $2'
for($i=1;$i<=$count;$i++)
$content = *GetMessage* -number $i /var/mail/user
...
Do string operation on this message & save to $DelimitedData
...

$Delimiteddata


I can't figure out how to pickup single message at a time to perform string operation on them. Can someone please guide me which command/program can help me do this non interactively.










share|improve this question







New contributor



OjasP is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
















  • 1





    I'm guessing you mostly work with powershell?

    – Jesse_b
    10 hours ago











  • @Jesse_b Yes I mostly script in powershell. I have a script that does exactly what I want, but we are moving to a linux box for some of the emails and I want to make sure that I get the reports.

    – OjasP
    10 hours ago











  • You can install powershell on linux, but hopefully someone can also help you with a shell solution as it will be faster.

    – Jesse_b
    10 hours ago











  • @Gilles formail answer is good, but it's also worth knowing that the "beginning of message" marker in an mbox format file is a line beginning with From ("From" and a space character). This can reliably be used to split mbox files into individual messages, with the regexp ^From as it is guaranteed NOT to be within the headers or body of the message (any body lines that would have started with "From " are changed when saved into an mbox, usually to ">From " or similar). See en.wikipedia.org/wiki/Mbox

    – cas
    4 hours ago


















3















Lets say I have 5 messages in /var/mail/ and I want to read one message at a time and then do some string search in that mail before moving on to the next message. Is there a command that I can use to parse one message at a time ?



I am looking to write a bash script which will read all messages in an mbox file & then read them one at a time so that I can then extract Subject, To, From & Status of the message(bounceback code). My plan was to use grepmail to get count of emails in the file and then use this count in a for loop to get one mail at a time and them perform operation on the text. Something like:



$count = grepmail -r . /var/mail/user | awk 'print $2'
for($i=1;$i<=$count;$i++)
$content = *GetMessage* -number $i /var/mail/user
...
Do string operation on this message & save to $DelimitedData
...

$Delimiteddata


I can't figure out how to pickup single message at a time to perform string operation on them. Can someone please guide me which command/program can help me do this non interactively.










share|improve this question







New contributor



OjasP is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
















  • 1





    I'm guessing you mostly work with powershell?

    – Jesse_b
    10 hours ago











  • @Jesse_b Yes I mostly script in powershell. I have a script that does exactly what I want, but we are moving to a linux box for some of the emails and I want to make sure that I get the reports.

    – OjasP
    10 hours ago











  • You can install powershell on linux, but hopefully someone can also help you with a shell solution as it will be faster.

    – Jesse_b
    10 hours ago











  • @Gilles formail answer is good, but it's also worth knowing that the "beginning of message" marker in an mbox format file is a line beginning with From ("From" and a space character). This can reliably be used to split mbox files into individual messages, with the regexp ^From as it is guaranteed NOT to be within the headers or body of the message (any body lines that would have started with "From " are changed when saved into an mbox, usually to ">From " or similar). See en.wikipedia.org/wiki/Mbox

    – cas
    4 hours ago














3












3








3








Lets say I have 5 messages in /var/mail/ and I want to read one message at a time and then do some string search in that mail before moving on to the next message. Is there a command that I can use to parse one message at a time ?



I am looking to write a bash script which will read all messages in an mbox file & then read them one at a time so that I can then extract Subject, To, From & Status of the message(bounceback code). My plan was to use grepmail to get count of emails in the file and then use this count in a for loop to get one mail at a time and them perform operation on the text. Something like:



$count = grepmail -r . /var/mail/user | awk 'print $2'
for($i=1;$i<=$count;$i++)
$content = *GetMessage* -number $i /var/mail/user
...
Do string operation on this message & save to $DelimitedData
...

$Delimiteddata


I can't figure out how to pickup single message at a time to perform string operation on them. Can someone please guide me which command/program can help me do this non interactively.










share|improve this question







New contributor



OjasP is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











Lets say I have 5 messages in /var/mail/ and I want to read one message at a time and then do some string search in that mail before moving on to the next message. Is there a command that I can use to parse one message at a time ?



I am looking to write a bash script which will read all messages in an mbox file & then read them one at a time so that I can then extract Subject, To, From & Status of the message(bounceback code). My plan was to use grepmail to get count of emails in the file and then use this count in a for loop to get one mail at a time and them perform operation on the text. Something like:



$count = grepmail -r . /var/mail/user | awk 'print $2'
for($i=1;$i<=$count;$i++)
$content = *GetMessage* -number $i /var/mail/user
...
Do string operation on this message & save to $DelimitedData
...

$Delimiteddata


I can't figure out how to pickup single message at a time to perform string operation on them. Can someone please guide me which command/program can help me do this non interactively.







postfix mutt mailx






share|improve this question







New contributor



OjasP is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.










share|improve this question







New contributor



OjasP is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.








share|improve this question




share|improve this question






New contributor



OjasP is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.








asked 10 hours ago









OjasPOjasP

161 bronze badge




161 bronze badge




New contributor



OjasP is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




New contributor




OjasP is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












  • 1





    I'm guessing you mostly work with powershell?

    – Jesse_b
    10 hours ago











  • @Jesse_b Yes I mostly script in powershell. I have a script that does exactly what I want, but we are moving to a linux box for some of the emails and I want to make sure that I get the reports.

    – OjasP
    10 hours ago











  • You can install powershell on linux, but hopefully someone can also help you with a shell solution as it will be faster.

    – Jesse_b
    10 hours ago











  • @Gilles formail answer is good, but it's also worth knowing that the "beginning of message" marker in an mbox format file is a line beginning with From ("From" and a space character). This can reliably be used to split mbox files into individual messages, with the regexp ^From as it is guaranteed NOT to be within the headers or body of the message (any body lines that would have started with "From " are changed when saved into an mbox, usually to ">From " or similar). See en.wikipedia.org/wiki/Mbox

    – cas
    4 hours ago













  • 1





    I'm guessing you mostly work with powershell?

    – Jesse_b
    10 hours ago











  • @Jesse_b Yes I mostly script in powershell. I have a script that does exactly what I want, but we are moving to a linux box for some of the emails and I want to make sure that I get the reports.

    – OjasP
    10 hours ago











  • You can install powershell on linux, but hopefully someone can also help you with a shell solution as it will be faster.

    – Jesse_b
    10 hours ago











  • @Gilles formail answer is good, but it's also worth knowing that the "beginning of message" marker in an mbox format file is a line beginning with From ("From" and a space character). This can reliably be used to split mbox files into individual messages, with the regexp ^From as it is guaranteed NOT to be within the headers or body of the message (any body lines that would have started with "From " are changed when saved into an mbox, usually to ">From " or similar). See en.wikipedia.org/wiki/Mbox

    – cas
    4 hours ago








1




1





I'm guessing you mostly work with powershell?

– Jesse_b
10 hours ago





I'm guessing you mostly work with powershell?

– Jesse_b
10 hours ago













@Jesse_b Yes I mostly script in powershell. I have a script that does exactly what I want, but we are moving to a linux box for some of the emails and I want to make sure that I get the reports.

– OjasP
10 hours ago





@Jesse_b Yes I mostly script in powershell. I have a script that does exactly what I want, but we are moving to a linux box for some of the emails and I want to make sure that I get the reports.

– OjasP
10 hours ago













You can install powershell on linux, but hopefully someone can also help you with a shell solution as it will be faster.

– Jesse_b
10 hours ago





You can install powershell on linux, but hopefully someone can also help you with a shell solution as it will be faster.

– Jesse_b
10 hours ago













@Gilles formail answer is good, but it's also worth knowing that the "beginning of message" marker in an mbox format file is a line beginning with From ("From" and a space character). This can reliably be used to split mbox files into individual messages, with the regexp ^From as it is guaranteed NOT to be within the headers or body of the message (any body lines that would have started with "From " are changed when saved into an mbox, usually to ">From " or similar). See en.wikipedia.org/wiki/Mbox

– cas
4 hours ago






@Gilles formail answer is good, but it's also worth knowing that the "beginning of message" marker in an mbox format file is a line beginning with From ("From" and a space character). This can reliably be used to split mbox files into individual messages, with the regexp ^From as it is guaranteed NOT to be within the headers or body of the message (any body lines that would have started with "From " are changed when saved into an mbox, usually to ">From " or similar). See en.wikipedia.org/wiki/Mbox

– cas
4 hours ago











1 Answer
1






active

oldest

votes


















7














The formail tool from procmail (available in any distribution, it's a classic) is designed precisely for this purpose.



Basic usage:



formail -s myprogram --option


runs myprogram --option on each mail in turn. The program receives each mail on its standard input.






share|improve this answer

























  • Not sure that formail can pick up the Nth message in an existing spool file, though Can it?

    – roaima
    6 hours ago











  • @roaima I don't think it's needed (the OP had that loop because they didn't know how to process messages in an mbox one-by-one), but formail has a +skip option, and a -total option (the "skip" in the +skip is the number of messages to skip, and the "total" in -total is the total number of msgs to output - so +5 -1 would output only the 6th message).

    – cas
    4 hours ago













Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);






OjasP is a new contributor. Be nice, and check out our Code of Conduct.









draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f534795%2fhow-can-i-read-one-message-at-a-time-from-var-mail%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









7














The formail tool from procmail (available in any distribution, it's a classic) is designed precisely for this purpose.



Basic usage:



formail -s myprogram --option


runs myprogram --option on each mail in turn. The program receives each mail on its standard input.






share|improve this answer

























  • Not sure that formail can pick up the Nth message in an existing spool file, though Can it?

    – roaima
    6 hours ago











  • @roaima I don't think it's needed (the OP had that loop because they didn't know how to process messages in an mbox one-by-one), but formail has a +skip option, and a -total option (the "skip" in the +skip is the number of messages to skip, and the "total" in -total is the total number of msgs to output - so +5 -1 would output only the 6th message).

    – cas
    4 hours ago















7














The formail tool from procmail (available in any distribution, it's a classic) is designed precisely for this purpose.



Basic usage:



formail -s myprogram --option


runs myprogram --option on each mail in turn. The program receives each mail on its standard input.






share|improve this answer

























  • Not sure that formail can pick up the Nth message in an existing spool file, though Can it?

    – roaima
    6 hours ago











  • @roaima I don't think it's needed (the OP had that loop because they didn't know how to process messages in an mbox one-by-one), but formail has a +skip option, and a -total option (the "skip" in the +skip is the number of messages to skip, and the "total" in -total is the total number of msgs to output - so +5 -1 would output only the 6th message).

    – cas
    4 hours ago













7












7








7







The formail tool from procmail (available in any distribution, it's a classic) is designed precisely for this purpose.



Basic usage:



formail -s myprogram --option


runs myprogram --option on each mail in turn. The program receives each mail on its standard input.






share|improve this answer













The formail tool from procmail (available in any distribution, it's a classic) is designed precisely for this purpose.



Basic usage:



formail -s myprogram --option


runs myprogram --option on each mail in turn. The program receives each mail on its standard input.







share|improve this answer












share|improve this answer



share|improve this answer










answered 8 hours ago









GillesGilles

568k136 gold badges1170 silver badges1683 bronze badges




568k136 gold badges1170 silver badges1683 bronze badges















  • Not sure that formail can pick up the Nth message in an existing spool file, though Can it?

    – roaima
    6 hours ago











  • @roaima I don't think it's needed (the OP had that loop because they didn't know how to process messages in an mbox one-by-one), but formail has a +skip option, and a -total option (the "skip" in the +skip is the number of messages to skip, and the "total" in -total is the total number of msgs to output - so +5 -1 would output only the 6th message).

    – cas
    4 hours ago

















  • Not sure that formail can pick up the Nth message in an existing spool file, though Can it?

    – roaima
    6 hours ago











  • @roaima I don't think it's needed (the OP had that loop because they didn't know how to process messages in an mbox one-by-one), but formail has a +skip option, and a -total option (the "skip" in the +skip is the number of messages to skip, and the "total" in -total is the total number of msgs to output - so +5 -1 would output only the 6th message).

    – cas
    4 hours ago
















Not sure that formail can pick up the Nth message in an existing spool file, though Can it?

– roaima
6 hours ago





Not sure that formail can pick up the Nth message in an existing spool file, though Can it?

– roaima
6 hours ago













@roaima I don't think it's needed (the OP had that loop because they didn't know how to process messages in an mbox one-by-one), but formail has a +skip option, and a -total option (the "skip" in the +skip is the number of messages to skip, and the "total" in -total is the total number of msgs to output - so +5 -1 would output only the 6th message).

– cas
4 hours ago





@roaima I don't think it's needed (the OP had that loop because they didn't know how to process messages in an mbox one-by-one), but formail has a +skip option, and a -total option (the "skip" in the +skip is the number of messages to skip, and the "total" in -total is the total number of msgs to output - so +5 -1 would output only the 6th message).

– cas
4 hours ago










OjasP is a new contributor. Be nice, and check out our Code of Conduct.









draft saved

draft discarded


















OjasP is a new contributor. Be nice, and check out our Code of Conduct.












OjasP is a new contributor. Be nice, and check out our Code of Conduct.











OjasP is a new contributor. Be nice, and check out our Code of Conduct.














Thanks for contributing an answer to Unix & Linux Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f534795%2fhow-can-i-read-one-message-at-a-time-from-var-mail%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Invision Community Contents History See also References External links Navigation menuProprietaryinvisioncommunity.comIPS Community ForumsIPS Community Forumsthis blog entry"License Changes, IP.Board 3.4, and the Future""Interview -- Matt Mecham of Ibforums""CEO Invision Power Board, Matt Mecham Is a Liar, Thief!"IPB License Explanation 1.3, 1.3.1, 2.0, and 2.1ArchivedSecurity Fixes, Updates And Enhancements For IPB 1.3.1Archived"New Demo Accounts - Invision Power Services"the original"New Default Skin"the original"Invision Power Board 3.0.0 and Applications Released"the original"Archived copy"the original"Perpetual licenses being done away with""Release Notes - Invision Power Services""Introducing: IPS Community Suite 4!"Invision Community Release Notes

Canceling a color specificationRandomly assigning color to Graphics3D objects?Default color for Filling in Mathematica 9Coloring specific elements of sets with a prime modified order in an array plotHow to pick a color differing significantly from the colors already in a given color list?Detection of the text colorColor numbers based on their valueCan color schemes for use with ColorData include opacity specification?My dynamic color schemes

Ласкавець круглолистий Зміст Опис | Поширення | Галерея | Примітки | Посилання | Навігаційне меню58171138361-22960890446Bupleurum rotundifoliumEuro+Med PlantbasePlants of the World Online — Kew ScienceGermplasm Resources Information Network (GRIN)Ласкавецькн. VI : Літери Ком — Левиправивши або дописавши її