STOP!
you should have only executed
from gluon.tools import Mail
server = Mail('smtp.gmail.com:587', '[email protected]', 'youruser:password'
)
server.send('[email protected]', 'subject', 'test body')
and copied the output here.
You seem to have entered in the console my example output, that is NOT
something you want to enter in a shell :P
We want to read the shell after those 3 lines to see what is going to
happen: mine was only an example on what a successful connection prints.
On Monday, December 3, 2012 4:52:16 PM UTC+1, Aurelijus Useckas wrote:
>
> Thanx for a tip Niphlod,
>
> Here's the output:
>
> >>> send: 'ehlo [127.0.1.1]\r\n'
> reply: '250-mx.google.com at your service, [95.244.128.226]\r\n'
> reply: '250-SIZE 35882577\r\n'
> reply: '250-8BITMIME\r\n'
> reply: '250-STARTTLS\r\n'
> reply: '250 ENHANCEDSTATUSCODES\r\n'
> reply: retcode (250); Msg: mx.google.com at your service, [95.244.128.226]
> SIZE 35882577
> 8BITMIME
> STARTTLS
> ENHANCEDSTATUSCODES
> send: 'STARTTLS\r\n'
> .......... File "<console>", line 1
> send: 'ehlo [127.0.1.1]\r\n'
> ^
> SyntaxError: invalid syntax
> >>> File "<console>", line 1
> reply: '250-mx.google.com at your service, [95.244.128.226]\r\n'
> ^
> SyntaxError: invalid syntax
> >>> File "<console>", line 1
> reply: '250-SIZE 35882577\r\n'
> ^
> SyntaxError: invalid syntax
> >>> File "<console>", line 1
> reply: '250-8BITMIME\r\n'
> ^
> SyntaxError: invalid syntax
> >>> File "<console>", line 1
> reply: '250-STARTTLS\r\n'
> ^
> SyntaxError: invalid syntax
> >>> File "<console>", line 1
> reply: '250 ENHANCEDSTATUSCODES\r\n'
> ^
> SyntaxError: invalid syntax
> >>> File "<console>", line 1
> reply: retcode (250); Msg: mx.google.com at your service, [95.244.
> 128.226]
> ^
> SyntaxError: invalid syntax
> >>> File "<console>", line 1
> SIZE 35882577
> ^
> SyntaxError: invalid syntax
> >>> File "<console>", line 1
> 8BITMIME
> ^
> SyntaxError: invalid syntax
> >>> Traceback (most recent call last):
> File "<console>", line 1, in <module>
> NameError: name 'STARTTLS' is not defined
> >>> Traceback (most recent call last):
> File "<console>", line 1, in <module>
> NameError: name 'ENHANCEDSTATUSCODES' is not defined
> >>> File "<console>", line 1
> send: 'STARTTLS\r\n'
> ^
> SyntaxError: invalid syntax
> >>> send: 'ehlo [127.0.1.1]\r\n'
> File "<console>", line 1
> ..........send: 'ehlo [127.0.1.1]\r\n'
> ^
>
>
> Could you help me to figure out what's wrong?
>
> On Monday, December 3, 2012 1:29:33 AM UTC+2, Niphlod wrote:
>>
>> let's inspect the code: if the exception has something to do with an
>> error related to sending the email, the value returned is always True.
>> That means that if (and that's not your case) there's something wrong
>> with body, sender, cc, etc, you would see an exception. Given instead that
>> there are no errors with the parameters you're using (because your rtn is
>> True), if there are errors sending the email they are stored into
>> mail.error (usually the entire traceback).
>> If that's None, by all means the mail server (or whatever you're
>> connecting to) is responding something like "ok, I queued it".
>> To inspect the problem further, please add a line in gluon/tools.py
>>
>>
>> smtp_args = self.settings.server.split(':')
>> if self.settings.ssl:
>> server = smtplib.SMTP_SSL(*smtp_args)
>> else:
>> server = smtplib.SMTP(*smtp_args)
>> server.set_debuglevel(1)#added line
>>
>> That will print on stderr all the "raw commands" sent to the mail server.
>> You can try sending an email just entering the shell of your app with
>> web2py.py -M -S yourappname and then mail.send('[email protected]',
>> 'subject', 'test body') or, cd-ing into web2py.py folder and
>>
>> web2py$ python
>> Python 2.6.5 (r265:79063, Oct 1 2012, 22:04:36)
>> [GCC 4.4.3] on linux2
>> Type "help", "copyright", "credits" or "license" for more information.
>> >>> from gluon.tools import Mail
>> >>> server = Mail('smtp.gmail.com:587', '[email protected]',
>> 'youruser:password')
>> >>> server.send('[email protected]', 'subject', 'test body')
>> following this, something like
>> send: 'ehlo [127.0.1.1]\r\n'
>> reply: '250-mx.google.com at your service, [95.244.128.226]\r\n'
>> reply: '250-SIZE 35882577\r\n'
>> reply: '250-8BITMIME\r\n'
>> reply: '250-STARTTLS\r\n'
>> reply: '250 ENHANCEDSTATUSCODES\r\n'
>> reply: retcode (250); Msg: mx.google.com at your service, [95.244.128.226
>> ]
>> SIZE 35882577
>> 8BITMIME
>> STARTTLS
>> ENHANCEDSTATUSCODES
>> send: 'STARTTLS\r\n'
>> ..........
>>
>> should appear if the connection can be established with google servers.
>>
>>
>>
>>
>>
>>
>>
>> On Sunday, December 2, 2012 10:03:44 PM UTC+1, Aurelijus Useckas wrote:
>>>
>>> it only returns True. I'm beginning to guess there's smthng wrong with
>>> some firewalls ISP has placed
>>>
>>> On Sunday, December 2, 2012 9:54:40 PM UTC+2, Niphlod wrote:
>>>>
>>>> and the rtn ? it's strange that no errors are returned because that
>>>> would mean that the mail library didn't "catch" the error (i.e. no error
>>>> messages were returned by the mail server)
>>>>
>>>> On Sunday, December 2, 2012 1:57:22 PM UTC+1, Aurelijus Useckas wrote:
>>>>>
>>>>> yes, it gives very little info:
>>>>>
>>>>> In [3] : print mail.result
>>>>> {}
>>>>>
>>>>> In [4] : print mail.error
>>>>> None
>>>>>
>>>>>
>>>>> On Friday, November 30, 2012 1:42:16 PM UTC+2, Niphlod wrote:
>>>>>>
>>>>>> did you try to see what errors you get back ?
>>>>>>
>>>>>> rtn = mail.send('[email protected]',
>>>>>> 'Message subject',
>>>>>> 'Plain text body of the message')
>>>>>>
>>>>>> print rtn
>>>>>> print mail.result
>>>>>> print mail.error
>>>>>>
>>>>>> ?
>>>>>>
>>>>>> Il giorno venerdì 30 novembre 2012 11:16:00 UTC+1, Aurelijus Useckas
>>>>>> ha scritto:
>>>>>>>
>>>>>>> nope... I'm running a linux. Virus free environment. No need for
>>>>>>> McAfee ;)
>>>>>>>
>>>>>>> Thnx anyway guys, I guess I'll check with my provider. It has to be
>>>>>>> their fault.
>>>>>>>
>>>>>>> On Thursday, November 29, 2012 3:36:09 PM UTC+2, Mark wrote:
>>>>>>>>
>>>>>>>> If McAfee is running on the server, McAfee blocked the emails
>>>>>>>> sending from web2py, which isn't on the whitelist of McAfee. Try to
>>>>>>>> change
>>>>>>>> web2py.exe into apache.exe
>>>>>>>>
>>>>>>>> On Wednesday, November 28, 2012 10:20:55 AM UTC-5, Aurelijus
>>>>>>>> Useckas wrote:
>>>>>>>>>
>>>>>>>>> Hey, strange situation. Would apreciate your help...
>>>>>>>>>
>>>>>>>>> I have 2 identical versions of the same app running on local host
>>>>>>>>> (v2.2.1) and the server (v2.2.1 as well). Local version handles auth
>>>>>>>>> mail
>>>>>>>>> (mail.send) very well, but the app which is running on server is
>>>>>>>>> unable to
>>>>>>>>> send anything.
>>>>>>>>>
>>>>>>>>> This must be something with the server but I'm not sure what and
>>>>>>>>> how to ask?? BTW the server is dedicated, I myself have deployed a
>>>>>>>>> web2py
>>>>>>>>> on it.
>>>>>>>>>
>>>>>>>>> Thank you in advance!
>>>>>>>>>
>>>>>>>>
--