2015-07-13 97 views
0

我想发送电子邮件地址存放在谷歌电子表格中的邮件。我能够得到单元格的值,但我得到:使用gspread获取逗号分隔的单元格值列表

(<Cell R1C1 '[email protected]'>,) 
 
(<Cell R2C1 '[email protected]'>,) 
 
...

为了使用MimeMultipart的,我需要逗号分开: 电子邮件@ gmail.com,email1gmail.com,.. 。

这是我的代码:

import gspread 
 
import json 
 
from oauth2client.client import SignedJwtAssertionCredentials 
 
import gdata.spreadsheet.service 
 
from email.MIMEMultipart import MIMEMultipart 
 
from email.MIMEText import MIMEText 
 
import smtplib 
 

 
json_key = json.load(open('xxx.json')) 
 
scope = ['https://spreadsheets.google.com/feeds'] 
 
credentials = SignedJwtAssertionCredentials(json_key['client_email'], json_key['private_key'], scope) 
 
gc = gspread.authorize(credentials) 
 

 
wks = gc.open('xxx') 
 
worksheet_id = 'od6' 
 
worksheet = wks.get_worksheet(0) 
 

 
print worksheet.row_values("A1") 
 

 
for x in xrange(1,50): 
 
test = "A%s" %x 
 
msg = MIMEMultipart() 
 
msg["To"] = worksheet.acell(test), 
 
print msg["To"]

回答

0

如果有人想解决办法,我发现它:

import gspread 
import json 
from oauth2client.client import SignedJwtAssertionCredentials 
import gdata.spreadsheet.service 
from email.MIMEMultipart import MIMEMultipart 
from email.MIMEText import MIMEText 
import smtplib 

json_key = json.load(open('AUTH2.json')) 
scope = ['https://spreadsheets.google.com/feeds'] 
credentials = SignedJwtAssertionCredentials(json_key['client_email'], json_key['private_key'], scope) 
gc = gspread.authorize(credentials) 

wks = gc.open('Name-of-your-spreadsheet') 
worksheet_id = 'od6' 
worksheet = wks.get_worksheet(0) 
server = smtplib.SMTP('smtp.gmail.com:25') 
server.starttls() 
server.login('LOGIN','PSWD') 

for x in xrange(1,20): 
    getTheCellName = "A%s" %x 
    msg = MIMEMultipart() 
    getTheCell = worksheet.acell(getTheCellName) 
    getTheCellValue = getTheCell.value 
    if getTheCellValue != "": 
     server.sendmail('Sender-Email',getTheCellValue,'Mail-Content')