0

我有一个名为 gmailCleaner.py 的脚本,在我的电脑上它运行得很好,并且可以按照我想要的方式调整我的 gmail(使用 imap)。

所以我想让这个脚本对我网站上的每个人都可用(共享主机,启用 python)脚本运行但无法连接到 gmail(使用与我的电脑相同的设置,唯一的区别是在 pc 上我使用 raw_input 和服务器我使用html表单中的fata)

我认为这是因为他们缺少我正在使用的 imaplib 文件 - 所以我将它上传到服务器(与脚本相同的文件夹)它没有工作。

新:收到此错误:“模块”对象没有属性“IMAP4_SSL”

任何形式的帮助都会很好

编码:

#!/usr/bin/python

import imaplib
import os
import cgi

print 'Content-type: text/html\n\n'

try:
    M=imaplib.IMAP4_SSL('imap.gmail.com', 993)
except:
    print 'cannot connect to gmail<br />'

它失败了:S它打印“无法连接到gmail”意味着它运行。

编辑评论,还不是有史以来最用户友好的代码,只是希望它首先工作(删除来自 pesific 发件人的所有电子邮件):

try:    
    USER = form.getvalue('username')
    PASS = form.getvalue('password')
    SENDER = form.getvalue('from')
    print USER
except:
    print 'cannot get form info<br />'

try:
    M=imaplib.IMAP4_SSL('imap.gmail.com', 993)
    M.login(USER +'@gmail.com',PASS)
    status, count = M.select('Inbox')
except Exception as e: print e

try:
    SENDER = '\"' + SENDER + '\"'
    data = M.search(None, 'FROM', SENDER)
    a = str(data[1])
    a = a.split()
    b = ''
    i = 0
    while i < len(a[-1]) - 2:
        b = b + a[-1][i]
        i += 1
    a[-1] = b
    b = ''
    i = 2
    while i < len(a[0]):
        b = b + a[0][i]
        i += 1
    a[0] = b
except:
    print 'cannot get ids<br />'


try:
    print 'deleting!<br />'
    i = 0
    while i < len(a):
        M.store(a[i], '+FLAGS', '\\Deleted')
        i += 1
except:
    print 'cannot delete<br />'
4

1 回答 1

0

如果你的共享服务器支持 pip install 和 virtualenv,试试这个
virtualenv env --no-site-packages
pip install python<version>
pip install otherpythonpackages

这应该可以解决您的问题。

于 2011-10-04T09:15:29.200 回答