ขอวิธีดึงข้อมูลใน list มาแสดงเป็นข้อความทีละบรรทัด

แนะนำ สอบถาม ภาษา C สำหรับผู้เริ่มต้น ภาษา Java ภาษา Python

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
chakirin.bfds
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 783
ลงทะเบียนเมื่อ: 22/12/2020 10:19 am

ขอวิธีดึงข้อมูลใน list มาแสดงเป็นข้อความทีละบรรทัด

โพสต์ที่ยังไม่ได้อ่าน โดย chakirin.bfds »

ตอนนี้ผมกำลังทำงาน เรื่อง ตรวจสอบลิงค์แล้วส่งเมลล์ผ่าน SMTP ของ Mailgun ด้วย Python
ซึ่งตอนนี้สามารถตรวจเช็คลิงค์ได้เเล้ว หากลิงค์ไม่สามารถเข้าได้ ให้ส่งแจ้งไปทางเมลล์ได้เเล้ว แต่ตัวลิงค์ที่ส่งไปมีเเค่ลิงค์เดียวครับ
Selection_196.png
Selection_196.png (43.71 KiB) Viewed 2038 times
ซึ่งตอนรันผมได้เก็บลิงค์เป็น list ในตัวแปร save_link จากนั้น สร้างลูปอ่านค่า เเล้วนำค่าไปใช้ในการส่งเมลล์
code ที่เขียนตอนนี้

โค้ด: เลือกทั้งหมด

import urllib.request
import configparser
import time
import email
import smtplib

con = None
config = configparser.ConfigParser()
config.read('admin.conf')

SMTP=config['options']['SMTP']
ports=config['options']['ports']
user = config['options']['user']
password = config['options']['password']
recipient = config['options']['recipient_email']
sender = "[email protected]"


link = open("check_link.txt","r")
r_link = link.readline()
r_link = r_link.split()
r_link= open('check_link.txt')
plt = open("plateformEmail.txt")
plt = plt.read()

save_link = []
check = []
#con = None
#config = configparser.ConfigParser()      ใช้วิธีการด้วย readlin readfile

timeis = time.localtime()
time_hr = timeis.tm_hour
time_min = timeis.tm_min
time_sec = timeis.tm_sec

n = 1
print("Start_test:" ,time_hr,":",time_min,":",time_sec)

for line in r_link:
    print("link:",n)
    n += 1
    try:
        response = urllib.request.urlopen(line)

        if response.getcode() == 200:
            save_link.append("That link is ok:"+line)
            check.append("Y")
            print("""That link is ok:{} Time_test :{}{}{}{}{} """.format(line, time_hr,":",time_min,":",time_sec))



        else:
            print('The response code was not 200, but: {}'.format(
                response.get_code()))
    except urllib.error.HTTPError as e:
        print('''That link is error occurred:{}
        The response code was {}
        Time_test :{}{}{}{}{}'''.format(line,e.getcode(), time_hr,":",time_min,":",time_sec))
        save_link.append("That link is error occurred:" + line)
        check.append("N")
#save_link = save_link.split(",")
print(save_link)
N="N"

if N in check:
    print("send Email")
    for all_link in save_link:
        print(all_link)


    msg = email.message_from_string(plt+"\n"+ all_link +"\n"  ) #ข้อความที่ต้องการส่ง
    msg['Subject'] = "test smtp mailgun with python"

    s = smtplib.SMTP(SMTP,25)
    s.ehlo() # ชื่อต่อกับ Hostname
    # s.starttls() # กำหนดใช้ใช้ SSL การติดต่อกับ SMTP server ด้วยโหมท TLS mode ถ้าport 25 ไม่ต้องใช้ เเต่ถ้า 46 ต้องใช้
    #s.ehlo()
    s.login(user, password)
    s.sendmail(sender,recipient, msg.as_string().encode('utf-8'))
    s.quit()
print("sended Email")
ช่วยเเนะนำวิธีการนำข้อมูลที่อยู่ใน save_link ทั้งหมดมาแสดงเเล้วส่งemail หน่อยครับ
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41120
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: ขอวิธีดึงข้อมูลใน list มาแสดงเป็นข้อความทีละบรรทัด

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

วน Loop แล้วต่อ sting
เข้าไป ครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
chakirin.bfds
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 783
ลงทะเบียนเมื่อ: 22/12/2020 10:19 am

Re: ขอวิธีดึงข้อมูลใน list มาแสดงเป็นข้อความทีละบรรทัด

โพสต์ที่ยังไม่ได้อ่าน โดย chakirin.bfds »

mindphp เขียน: 21/01/2021 6:42 pm วน Loop แล้วต่อ sting
เข้าไป ครับ
ต่อยังไงน่ะครับ ใช่การแปลงเป็น string หรือเปล่าครับ
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41120
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: ขอวิธีดึงข้อมูลใน list มาแสดงเป็นข้อความทีละบรรทัด

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ข้อมูลใน loop วนมาเป็น sting แต่ละ บรรทัดแล้ว
เชื่อม sting เป็น ข้อความยาวๆ 1 ข้อความ ใช้ข้อความนั้น เพื่อส่งเมลต่อ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
สุจรรยา ภูเบ้าทอง

Re: ขอวิธีดึงข้อมูลใน list มาแสดงเป็นข้อความทีละบรรทัด

โพสต์ที่ยังไม่ได้อ่าน โดย สุจรรยา ภูเบ้าทอง »

chakirin.bfds เขียน: 21/01/2021 7:14 pm
mindphp เขียน: 21/01/2021 6:42 pm วน Loop แล้วต่อ sting
เข้าไป ครับ
ต่อยังไงน่ะครับ ใช่การแปลงเป็น string หรือเปล่าครับ
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 35