2015-07-13 9 views
0

Я хочу отправить письма с адресами электронной почты, хранящимися в электронной таблице google. Я могу получить значение ячейки, но я получаю:Получите список значений ячейки с запятыми, используя 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')