Swift에서는 SMTP를 이용하여 어떻게 메일을 보낼 수 있는지 살펴보겠습니다.
사실, 직접 모든 것을 구현하려고 하면 알아야할 지식도 엄청 많고 복잡하지만, 누군가가 친절하게 만들어놓은 것들이 있습니다. 우리는 그런 것들을 최대한 이용해서 쉽게 구현해보도록 하겠습니다.
1. 누군가가 만들어놓은 SMTP 라이브러리 사용
1.1 자신의 프로젝트 선택 -> Frameworks.. 선택 -> + 클릭
1.2 왼쪽 하단 Add Package Dependency... 클릭 -> https://github.com/IBM-Swift/Swift-SMTP 삽입 -> Next 클릭
1.3 SwiftSMTP 라이브러리 생성 확인
1.4 SMTP 설정에 필요한 구조체가 SMTP.swift에 구현
2. 메일을 보내기 위한 소스코드 작성
2.1 SMTP_SET.swift(view 아님) 생성 -> SMTP 기본 정보 설정 -> 보낸이, 받는이 등 메일 설정
2.2 SwiftSMTP 라이브러리에 기본적으로 TLS, 포트 587로 설정되어 있음
2.3 ContentView(SwiftUI) -> 버튼 클릭 시 -> 2.1에서 생성한 smtp의 send 함수 호출 -> 버튼 클릭
3. 예제 소스코드
3.1 SMTP_SET.swift
import Foundation let smtp = SMTP( hostname: "smtp.gmail.com", // SMTP server address email: "자신의 메일 주소", // username to login password: "자신의 메일 주소 비밀번호" // password to login ) let mail_from = Mail.User(name: "자신의 이름", email: "자신의 메일 주소) let mail_to = Mail.User(name: "상대방 이름", email: "상대방 메일 주소")
let mail = Mail( from: mail_from, to: [mail_to], subject: "hello", text: "I like you" ) |
3.2 ContentView.swift
import SwiftUI var body: some View {
Button(action: { smtp.send(mail) }) { Text("send mail") } } }
struct ContentView_Previews: PreviewProvider { static var previews: some View { ContentView() } } |
이상 궁금한 점이 있으면 댓글 남겨주시면 답글 드리겠습니다.
감사합니다.
'코딩의 유익함 > 스위프트(Swift)' 카테고리의 다른 글
Swift(스위프트) - Realm 설치 및 연동 예제 (1) | 2021.02.05 |
---|---|
Swift(스위프트) - 저장소 종류 (SQLite, Core Data, Realm) (0) | 2021.02.05 |
Swift(스위프트) - mac(맥) m1 에서 cocoapods 설치 및 적용하기 (3) | 2021.02.04 |
Swift(스위프트) - 엑셀파일(xlsx) 읽고 출력하기 (0) | 2021.01.27 |
Swift(스위프트) - 웹 서버에서 json 형태의 데이터 가져오기 (0) | 2021.01.13 |