É possível escrever um analisador de e-mail em PHP?

Minhas habilidades de PHP são intermediárias, mas eu quero tentar implementar isso:

Tenho um site para músicos de jazz locais. Gostaria que eles pudessem adicionar os próximos shows à sua página de perfil. Gostaria que eles pudessem enviar essas atualizações por e-mail, como posso adicionar tarefas à minha lista de Tudo on-line.

Então eu preciso analisar e-mails que aterram na minha conta no servidor.

Eu acho que é justo impor um formato padrão. . E eu estava pensando

(In subject)NEWGIG [[or maybe set up a separate "newgig@mySite.com" email account for gig updates only]] TITLE>My next super gig03/10/2012Here is some supplementary informationwww.hereIsTheVenue.com<LINK</code> </pre>
<p>  O show será adicionado e um e-mail de confirmação será enviado. </p>
<p>  Quão difícil é isso?  É possível?  Eu acho que posso fazer todas as análises de teste e SQL, etc., mas não tenho muita experiência com o correio e parece que há muitos “bits de fiddly” a serem atendidos. </p>
<p>  Alguém pode confirmar que isso é possível antes de começar?  Alguma dicas ou coisas para procurar? </p>
<p>  BTW – Estou fazendo o analisador de e-mail porque eu quero que seja super fácil de usar.  Os músicos são notoriamente preguiçosos, então, se eu puder deixá-los publicar um show diretamente do seu email (onde normalmente eles recebem confirmação), ele economiza o incômodo de ir ao site, fazer logon, ir à sua conta, etc. </p>
		    <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-4943387893641281"
     data-ad-slot="9988150711"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>
        
		
		<div class="list-group list-group-flush">

    


	<div class="list-group-item list-group-item-action flex-column align-items-start">
		      	<p>  Sim, é possível.  Tudo o que você precisa é acessar um servidor com um ponto final smtp.  algo como postfix ou exim ou qualquer outra coisa que ouve o email recebido.  você precisa configurar este software para passar o correio recebido como texto simples em um script ou programa seu que pode lidar com a input do <code>stdin</code> . </p>
<p>  a maneira mais fácil é criar um novo alias de e-mail que aponte para um script.  Eu tenho muitas inputs no meu arquivo <code>/etc/aliases</code> que se parece com isto: </p>
<pre> <code>userpart: "|/usr/bin/php -f /path/to/some/script.php"</code> </pre>
<p>  Isso é triggersdo sempre que um email chega neste endereço: <code>userpart@this.server.example</code> </p>
<p>  O script em si lê o input como este </p>
<pre> <code>$fp = fopen('php://stdin','r'); while (!feof($fp)) { $input .= fgets($fp); } fclose($fp);</code> </pre>
<p>  você pode achar útil o uso de um MIME Parser já existente, uma vez que a input pode ser qualquer coisa que um MUA moderno possa pensar. </p>
</div>
</li><!-- #comment-## -->
<div class="list-group-item list-group-item-action flex-column align-items-start">
		      	<p>  Analisar e-mails é como analisar qualquer tipo de dados.  Você só precisa definir um formato comum para os e-mails. </p>
<p>  Depois de escrever o analisador, crie um script que periodicaly conecta ao serviço de correio usando as funções do php imap, leia os e-mails, analise-os e insira-os no db. </p>
<p>  Mas seria mais simples e rápido criar apenas uma forma na Web na qual eles irão adicionar todos os dados do seu show. </p>
</div>
</li><!-- #comment-## -->
<div class="list-group-item list-group-item-action flex-column align-items-start">
		      	<p>  Você pode usar o regex para fazer isso.  Mas você precisa de alguma melhora no seu formato. </p>
<p>  Certifique-se de que o seu formato não contenha caracteres que o usuário possa inseri-lo e destrua seu formato.  Se você quiser tornar muito simples para seus usuários / cliente, use o formato XML.  Será mais fácil para os usuários editá-lo. </p>
<p>  Aqui está o ex: (Eu crio como obter <strong>TITLE</strong> e eu modifico a <strong>etiqueta de abertura e final</strong> ) Agora ele usa <strong><em>aparelhos de dupla ondulação</em></strong> . </p>
<pre> <code>$str= ' (In subject)NEWGIG [[or maybe set up a separate "newgig@mySite.com" email account for gig updates only]] {{TITLE}}My next super gig{{TITLE}} DATE>03/10/2012<date DESC>Here is some supplementary information<desc LINK>www.hereIsTheVenue.com<LINK'; preg_match('#{{TITLE}}(?P<title>.+){{TITLE}}#', $str, $matches); echo $matches['title']; 

Formato XML (Você pode usar a function simplexml_load_string para analisar o formato XML):

  My next super gig 03/10/2012 Here is some supplementary information www.hereIsTheVenue.com  
Intereting Posts