본문 바로가기
Vibe Coding

Cursor - 이메일 자동화

by _션샤인 2026. 2. 23.

1. 사용자 API KEY 발급

  • 서울시 공공데이터 API KEY 신청하기

 

2. 서울시 대중교통 분실물 습득물 정보 API 가져오기 

http://openapi.seoul.go.kr:8088/(인증키)/xml/lostArticleInfo/1/5/ 

위 url을 사용하여 분실물 습득물 정보 API를 사용하고 결과를 출력해줘
(인증키) 부분에는 4f73644251736965313037586c584a41 를 입력해줘
BASE_URL = f"http://openapi.seoul.go.kr:8088/{API_KEY}/xml/lostArticleInfo/1/100/%20/2026-02-20"

1/100/%20/2026-02-20" 로 변경하여 날짜 지정 가능

 

 

3. 네이버 로그인 자동화

네이버 로그인을 자동화하는 파이썬 코드를 생성해줘
파이썬 셀레니움을 이용해서 위 url로 브라우저를 열고
id는 {id} , pw는 {password} 이야
입력정보를 입력하고 로그인 버튼을 클릭해

 

* 셀레니움 이용 시 Chrome이 자동화된 테스트 소프트웨어에 의해 제어되고 있습니다." -> 셀레니움 웹 크롤링 봇탐지 우회

아이디, 패스워드를 sendkeys 로 입력하니까 봇으로 감지하여 로그인이 안 되고 있어.
id,pw를 클립보드에 복사한 뒤 id, pw창을 각각 클릭한 뒤 
ctrl + v로 붙여넣는 코드로 수정해줘

+) pip install pyperclip

 

 

4. 이메일 작성 자동화

[https://mail.naver.com/v2/new](https://mail.naver.com/v2/new)
위 링크로 이동하는 코드 작성해줘

 

개발자도구에서 받는사람 메일 주소의 selector 확인 후 복사

코드 하단에서 Ctrl+K 를 누르고 아래 요청사항을 입력

 

#recipient_input_element
위 셀렉터에 받는사람 이메일주소를 입력하는 코드 작성해줘

 

+) Selector로 입력 안 되서 여러 선택자 시도하도록 수정

+) send_keys가 작동하지 않아 ActionChains를 사용하여 요소를 확실히 클릭한 뒤,

    키보드 타이핑 시뮬레이션 하도록 코드 수정

<div class="mail_write_option_item_inner"><div class="title_area"><strong class="option_title">파일첨부</strong><button type="button" class="toggle_svg_sub"><span class="blind">첨부 목록 열기</span></button></div><div class="option_area"><div class="file_upload"><label class="button_upload">내 PC<span class="blind">에서 업로드</span><input id="ATTACH_LOCAL_FILE_ELEMENT_ID" type="file" class="blind" multiple=""></label><a href="#" class="button_mybox">MYBOX<span class="blind">에서 업로드</span></a><p class="description"><strong>일반<span class="blind">파일</span></strong> <span class="blind">현재</span>0KB/<span class="blind">전체</span>10MB<strong>대용량<span class="blind">파일</span></strong> <span class="blind">현재</span>0KB/<span class="blind">전체</span>2.00GBx10개</p></div><p class="file_drag">파일을 마우스로 끌어 오세요</p></div></div>

위 파일첨부요소에 파일을 첨부하는 코드 작성해줘

 

본문의 내용은 iframe 으로 되어있어서 전환 필요

#content > div.contents_area > div > div.editor_area > div > div.editor_body > iframe

위 셀렉터의 iframe으로 전환하는 코드 작성해줘
body > div > div.workseditor-content
위 요소에 메일본문을 작성하는 코드 작성해줘
# iframe에서 빠져나오기
driver.switch_to.default_content()

 

5. 이메일 보내기 자동화

#content > div.mail_toolbar.type_write > div:nth-child(1) > div > button.button_write_task
이 셀렉터에서 발송 버튼을 누르는 코드를 작성해줘

 

5. 분실물 정보 본문 연결 

@fetch_lost_article.py 분석해서
분실물이메일자동발송.py 파일을 생성해
날짜는 어제 날짜로 설정해서 url에 반영해줘
응답받은 api 데이터를 텍스트로 변환해서 이메일로 발송할거야
발송하기 위해 필요한 본문을 생성해서 print 해줘

 

@naver_login.py 파일을 분석해
그리고 @분실물이메일자동발송.py 도 분석해서
분실물이메일자동발송.py 파일을 아래 조건에 맞게 수정해
1. 분실물 조회 api를 이용해서 분실물 정보를 가져와
2. 이메일로 발송하기 위한 본문 텍스트를 만들어
3. 네이버 로그인해서 이메일 발송해. 제목은 yyyy-mmdd 분실물 접수건 정보 라고 입력하고, 
받는 사람은 sieon2@naver.com, 첨부파일은 생략해.
본문에는 위에서 만든 분실물 본문 텍스트를 입력해