[Gambas-user] Receiving an email

Sprachschule Eilert eilert-sprachen at ...221...
Tue Jul 23 22:59:39 CEST 2013


Just wanted to try, but I don't find gb.net.pop3 - where is it? Is it 
something quite new? My version here is 3.3.4.

I tried to activate the gb.net, gb.net.curl and gb.net.smtp components, 
but it still doesn't know about Pop3Client.

Am 16.07.2013 00:37, schrieb Randall Morgan:
> Here's a really quick and dirty sample of using the gd.net.pop3 mail client
> using the command line project type:
>
> ' Gambas module file
>
> Public Sub Main()
>   Dim hConn As New Pop3Client
>   Dim sMailIds As String[]
>   Dim sMailId As String
>   Dim Stats As Integer[]
>   Dim iCount As Integer
>   Dim iSize As Integer
>   Dim sMessage As String
>
>
>   'Set mail server connection parameters
>   With hConn
>     .Host =  '"<your mail server host name>"
>     .Port = 110 '<your mail server port 110 is common for non ssl. 995 for
> ssl. >
>     .User = '"<your mail account username>"
>     .Password = '"<your mail account password>" 'May want to store in, and
> retrieve this from an encrypted file
>   End With
>
>   Try hConn.Open
>
>   If Error Then
>     Print "Mail Error: "; Error.Text; "\nat "; Error.Where 'May want to log
> this....
>   Else
>     If hConn.Status = -16 Then
>       Print "Cannot Authenticate Mail Account."
>       Stop
>     Else If hConn.Status = 7 Then
>       Print "Connected to mail server...."
>       Print hConn.Welcome
>     Endif
>   Endif
>
>
> Stats = hConn.Stat()
>
> Print "There are "; Stats[0]; " Messages in your inbox."
> Print "You inbox contains "; Stats[1]; " bytes of data."
>
>   ' Show all mail ids
>   sMailIds = hConn.List()
>
>   For Each sMailId In sMailIds
>     Print sMailId
>   Next
>
>   ' Get each mail and display
>   For Each sMailId In sMailIds
>     sMessage = hConn.Exec("RETR " & sMailId)
>     Print "Message: "; sMailId; "\n"
>     Print "----------------------------------------------------"
>     Print sMessage; "\n\n"
>   Next
>
>   Print "Closing Connection."
>   hConn.Close
>
> End
>
>
>
> You may also find these links helpful:
>
> http://www.arclab.com/products/amlc/list-of-smtp-and-pop3-servers-mailserver-list.html
>
> http://www.electrictoolbox.com/article/networking/pop3-commands/
>
>
> On Mon, Jul 15, 2013 at 2:12 PM, Tobias Boege <taboege at ...626...> wrote:
>
>> On Mon, 15 Jul 2013, Rolf-Werner Eilert wrote:
>>> Thanks for your advice, Randall.
>>>
>>> Am 15.07.2013 17:16, schrieb Randall Morgan:
>>>> Is your email pop3, IMAP, MAPI, or webmail? The way you approach this
>>>> depends on the target system.
>>>
>>> It is pop3 and it is my own vserver for my firm's website.
>>>
>>>>
>>>> IMHO pop3 would be the easiest. There you would only need to access
>> your
>>>> mail account to download the emails for processing. Gambas has PDF
>>>
>>> Yes, that would be the precise question. My idea was to use the contact
>>> form plugin from the website, making another contact form which sends
>>> the results to another email address (e. g. application at ...1107... instead of
>>> info at ...1107...) and read the emails from that address.
>>>
>>> So it all boils down to: how can I read the emails - say once a minute -
>>> and place them somewhere where a script of mine - say Gambas - has
>>> access and reads them. And how to read them.
>>>
>>> I thought of leaving everything on the remote server, but it might as
>>> well be read from our local server in my firm and processed there. The
>>> latter might be the better way, as it is done so for the ordinary
>>> contact forms now (they are waiting for my email client to fetch them
>>> from the remote server via pop3, so I can fetch them even now when I'm
>>> in holidays, with my laptop). I'd just need a script to do with the
>>> other ones in regular intervals.
>>>
>>>> generation capabilities so that is not an issue. Another way to handle
>> this
>>>> would be to setup a GAMABS SMTP service and have the emails forwarded
>> to
>>>> that service. Then the app could be written to process any email that
>>>> arrived in the inbox.
>>>
>>> Yes, I saw there's an smtp library for Gambas, but I thought it might be
>>> easier the other way round.
>>>
>>>>
>>>> As for an easy way.... Well, easy is a qualitative term and so the
>> ease of
>>>> development would depend on the programmer's experience and abilities.
>> If
>>>> you're using webmail and the front end is something like Squirrel Mail,
>>>> then you have a nice table arrangement that can be easily parsed with
>>>> GAMBAS. But if your mail account is something like Yahoo or Google I
>> think
>>>> a web parsing framework such as those used with Java or Python would
>> ease
>>>> development.
>>>
>>> Neither nor, there's qmail on the server. That's it.
>>>
>>>>
>>>> A lot of my data collection tasks involve writing code in different
>>>> languages.
>>>
>>> I wouldn't mind calling some other script from the Gambas one or
>> vice-versa.
>>>
>>>
>>>> For example, One of my apps is a simple bash script that takes
>>>> forms submitted as pdfs, and processes them using python and then
>> stores
>>>> the results in a MySQL DB which has some stored procedures for final
>>>> processing. Then a cron script runs one every 5 minutes to get any new
>> rows
>>>> from the DB and place them in a queue to be reviewed by staff. The
>> staff
>>>> app then calls a php script that connects to a asterisk system if the
>> staff
>>>> needs to contact the client, and dials the clients number. Sadly, the
>> staff
>>>> review portion was not written in Gambas but in C++/Qt.
>>>
>>> Sounds rather clever, but I hope my idea won't become so extensive :-)
>>>
>>>>
>>>> Don't get bogged down into thinking that if you use GAMBAS for a
>> portion of
>>>> the app that you must use it for the whole app. You can create powerful
>>>> systems by combining the resources found other tools. Gambas and most
>> Linux
>>>> software is designed to allow this kind of inter-connect via pipes,
>>>> sockets, and files. So pick the tools that make each part of the
>> process
>>>> easiest and you development will be simplified.
>>>
>>> Yes, that was the base of my idea. I started inventing a whole-in-one
>>> app with Gambas: contact form, control, pdf, everything. Then I thought
>>> there is a nice contact form plugin already, so why inventing the wheel?
>>>
>>> Ok, let's get back to the point: reading an email (pop3 from the remote
>>> server to the local one) and placing it somewhere to let a Gambas app
>>> process it, how should I start? Where can I find the emails? Isn't there
>>> a mail command I can use from a bash script? After all, there are
>>> scripts on every system that send mails to root. And where are these
>>> mails stored then? When I know where, I can examine the files and find a
>>> way to process them in Gambas.
>>>
>>
>> So we have two options, right?
>>
>> a) Run a Gambas CGI script on the webserver which receives the user input
>>     via HTTP (GET/POST) from the HTML form.
>> b) Have a Gambas daemon on your local computer which checks regularly for
>>     new mails dropped by an external program. Or even better: Have a Gambas
>>     program which is fed with incoming mail whenever it arrives.
>>
>> It seems that a) is not the topic here. So, for b) you need a mail daemon.
>> I
>> personally use fetchmail for all my mail (IMAP). It also understands POP3,
>> according to the manpages. And the best thing is: it has the "-m" switch
>> which lets you give it a program (Mail Delivery Agent) to which it will
>> pipe
>> its mail. The MDA shall sort/distribute mail correctly but you can
>> equivalently well use it to call any program with every incoming mail being
>> piped to it. You can then examine the mail and do whatever you want.
>>
>> I use fetchmail for around 3 years now and the system didn't fail once - or
>> it was so unimportant that I didn't notice. The only issue you have is to
>> install and configure fetchmail correctly.
>>
>> I just tested fetchmail's -m option with a self-written program and it
>> works
>> as expected.
>>
>> Regards,
>> Tobi
>>
>>
>> ------------------------------------------------------------------------------
>> See everything from the browser to the database with AppDynamics
>> Get end-to-end visibility with application monitoring from AppDynamics
>> Isolate bottlenecks and diagnose root cause in seconds.
>> Start your free trial of AppDynamics Pro today!
>> http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
>> _______________________________________________
>> Gambas-user mailing list
>> Gambas-user at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/gambas-user
>>
>
>
>




More information about the User mailing list