안녕하세요! 평소에 공부한 내용이나 생각들을 마크다운(.md)으로 기록하시는 분들 많으시죠?
작성한 내용을 침대나 지하철에서 킨들로 편하게 읽고 싶다는 생각을 해보신 적 없나요?
오늘은 파이썬(Python)을 이용해 클릭 한 번으로 내 마크다운 파일을 킨들로 자동 전송하는 '마법의 스크립트'를 만들어 보겠습니다.

🧐 왜 이 기능이 필요한가요?
- 눈의 피로 감소: 모니터 대신 전자잉크(E-Ink)로 내가 정리한 노트를 읽을 수 있습니다.
- 집중력 향상: 인터넷이 안 되는 킨들 환경에서 내가 쓴 글에만 집중할 수 있습니다.
- 자동화의 희열: 귀찮게 이메일을 열고 파일 첨부할 필요 없이, 터미널 명령 한 줄이면 끝납니다.
🛠️ 준비물
시작하기 전에 딱 세 가지만 체크하세요!
- 내 킨들 이메일 확인: 아마존 설정에서
@kindle.com주소를 확인하세요. - 발신 메일 승인: 아마존의 'Approved Personal Document E-mail List'에 내 지메일(Gmail) 주소를 추가하세요.
- 앱 비밀번호 발급: 보안을 위해 지메일 설정에서 '앱 비밀번호'를 꼭 받아두세요.
💻 파이썬 마법 스크립트
자, 이제 핵심 코드를 보겠습니다. 이 코드는 마크다운 파일을 읽어서 아마존 서버로 전송합니다. 이때 제목을 "Convert"라고 붙이는 게 핵심입니다. 그래야 킨들이 예쁘게 변환해 주거든요!
import smtplib
import os
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encoders
def send_md_to_kindle(file_path):
# --- 설정 영역 ---
KINDLE_EMAIL = "your_name@kindle.com" # 킨들 주소
SENDER_EMAIL = "your_email@gmail.com" # 내 지메일
APP_PASSWORD = "xxxx xxxx xxxx xxxx" # 구글 앱 비밀번호
# ----------------
if not os.path.exists(file_path):
print(f"❌ 파일을 찾을 수 없습니다: {file_path}")
return
# 1. 메일 메시지 구성
msg = MIMEMultipart()
msg['From'] = SENDER_EMAIL
msg['To'] = KINDLE_EMAIL
msg['Subject'] = "Convert" # ⭐ 중요: 이 단어가 있어야 킨들 포맷으로 변환됨
# 2. 마크다운 파일 첨부
filename = os.path.basename(file_path)
with open(file_path, 'rb') as attachment:
part = MIMEBase('application', 'octet-stream')
part.set_payload(attachment.read())
encoders.encode_base64(part)
part.add_header('Content-Disposition', f'attachment; filename={filename}')
msg.attach(part)
# 3. SMTP 서버를 통한 발송 (Gmail 기준)
try:
print(f"🚀 {filename} 전송 중...")
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(SENDER_EMAIL, APP_PASSWORD)
server.send_message(msg)
server.quit()
print("✅ 전송 완료! 잠시 후 킨들에서 확인하세요.")
except Exception as e:
print(f"❌ 오류 발생: {e}")
# 실행 예시
if __name__ == "__main__":
send_md_to_kindle("오늘의_공부내용.md")
💡 꿀팁: 더 완벽하게 읽고 싶다면?
단순히 .md 파일을 보내면 텍스트 파일처럼 보일 때가 있습니다. 만약 표(Table)나 복잡한 서식이 들어간다면?
- Pandoc 활용:
pypandoc라이브러리를 사용해.md를 먼저.epub으로 변환한 뒤 보내보세요. 킨들이 가장 좋아하는 포맷입니다. - UTF-8 인코딩: 한글이 깨진다면 파일 저장 시 반드시 인코딩을 UTF-8로 설정했는지 확인하세요.
- 이미지 주의: 마크다운 안의 이미지는 로컬 경로일 경우 전송되지 않습니다. 이미지가 중요하다면 PDF로 변환해서 보내는 것이 낫습니다.
🚀 마치며
이제 여러분의 킨들은 단순한 소설책 리더기가 아니라, 여러분의 지식 창고가 되었습니다. 파이썬 스크립트 하나로 지식 습득의 경로를 더 스마트하게 바꿔보세요!
궁금한 점이 있다면 댓글로 남겨주세요! 😉
'Develop' 카테고리의 다른 글
| RAG를 넘어 '상태'가 있는 지능으로: Andrej Karpathy의 LLM 위키 (0) | 2026.04.21 |
|---|---|
| 단순한 메모는 그만! 옵시디언 데이터뷰로 나만의 지식 관리 시스템 구축하기 (0) | 2026.04.20 |
| 계산대 앞 "계좌번호 뭐예요?" 질문, 이제 이 QR 한 장으로 끝내세요. (0) | 2026.04.01 |
| 서버를 고쳐 쓰지 마세요: '배포 지옥'을 탈출하는 불변 인프라(Immutable Infrastructure) 가이드 (0) | 2026.03.30 |
| 기록은 내 맘대로, 정리는 AI가! 혈압·당뇨·체온 기록하는 똑똑한 건강 수첩 앱 (1) | 2026.03.27 |