import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import qApp
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(590, 325)
self.verticalLayoutWidget = QtWidgets.QWidget(Form)
self.verticalLayoutWidget.setGeometry(QtCore.QRect(10, 10, 231, 251))
self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")
self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
self.verticalLayout.setObjectName("verticalLayout")
self.label = QtWidgets.QLabel(self.verticalLayoutWidget)
self.label.setObjectName("label")
self.verticalLayout.addWidget(self.label)
self.lineEdit = QtWidgets.QLineEdit(self.verticalLayoutWidget)#mail adresi
self.lineEdit.setObjectName("lineEdit")
self.verticalLayout.addWidget(self.lineEdit)
self.label_2 = QtWidgets.QLabel(self.verticalLayoutWidget)
self.label_2.setObjectName("label_2")
self.verticalLayout.addWidget(self.label_2)
self.lineEdit_2 = QtWidgets.QLineEdit(self.verticalLayoutWidget)#şifre
self.lineEdit_2.setObjectName("lineEdit_2")
self.verticalLayout.addWidget(self.lineEdit_2)
self.label_6 = QtWidgets.QLabel(self.verticalLayoutWidget)
self.label_6.setObjectName("label_6")
self.verticalLayout.addWidget(self.label_6)
self.verticalLayoutWidget_2 = QtWidgets.QWidget(Form)
self.verticalLayoutWidget_2.setGeometry(QtCore.QRect(250, 10, 331, 251))
self.verticalLayoutWidget_2.setObjectName("verticalLayoutWidget_2")
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.verticalLayoutWidget_2)
self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.label_3 = QtWidgets.QLabel(self.verticalLayoutWidget_2)
self.label_3.setObjectName("label_3")
self.verticalLayout_2.addWidget(self.label_3)
self.lineEdit_4 = QtWidgets.QLineEdit(self.verticalLayoutWidget_2)#konu
self.lineEdit_4.setObjectName("lineEdit_4")
self.verticalLayout_2.addWidget(self.lineEdit_4)
self.label_5 = QtWidgets.QLabel(self.verticalLayoutWidget_2)
self.label_5.setObjectName("label_5")
self.verticalLayout_2.addWidget(self.label_5)
self.lineEdit_3 = QtWidgets.QLineEdit(self.verticalLayoutWidget_2)#içerik
self.lineEdit_3.setText("")
self.lineEdit_3.setObjectName("lineEdit_3")
self.verticalLayout_2.addWidget(self.lineEdit_3)
self.horizontalLayoutWidget = QtWidgets.QWidget(Form)
self.horizontalLayoutWidget.setGeometry(QtCore.QRect(10, 299, 571, 21))
self.horizontalLayoutWidget.setObjectName("horizontalLayoutWidget")
self.horizontalLayout = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget)
self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
self.horizontalLayout.setObjectName("horizontalLayout")
self.label_4 = QtWidgets.QLabel(self.horizontalLayoutWidget)
self.label_4.setObjectName("label_4")
self.horizontalLayout.addWidget(self.label_4)
self.lineEdit_5 = QtWidgets.QLineEdit(self.horizontalLayoutWidget)#gönderilecek mail
self.lineEdit_5.setObjectName("lineEdit_5")
self.horizontalLayout.addWidget(self.lineEdit_5)
self.pushButton = QtWidgets.QPushButton(self.horizontalLayoutWidget)
self.pushButton.setObjectName("Gönder")
self.horizontalLayout.addWidget(self.pushButton)
self.pushButton.clicked.connect(self.click)
self.pushButton_2 = QtWidgets.QPushButton(self.horizontalLayoutWidget)
self.pushButton_2.setObjectName("Çıkış")
self.horizontalLayout.addWidget(self.pushButton_2)
self.pushButton_2.clicked.connect(self.click_2)
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def click(self):
self.mesaj = MIMEMultipart() # Mesaj yapısını burda oluşturuyoruz
self.mesaj["From"] = self.lineEdit.text() # Kimden gideceği
self.mesaj["To"] = self.lineEdit_5.text() # Kime gideceği
self.mesaj["Subject"] = self.lineEdit_4.text() # Mesaj konusu
# Mailin İçeriği
self.yazi = self.lineEdit_3.text()
mesaj_govdesi = MIMEText(self.yazi, "plain") # Mailimizin gövdesini bu sınıftan oluşturuyoruz
self.mesaj.attach(mesaj_govdesi) # Mailimizin gövdesini mail yapımıza ekliyoruz.
try:
mail = smtplib.SMTP("smtp.gmail.com",
587) # STMP objemizi oluşturuyoruz ve gmail smtp server'ına bağlanıyoruz.
mail.ehlo() # SMTP serverına kendimizi tanıtıyoruz.
mail.starttls() # Adresimizin ve parolamızın şifrelenmesi için gerekli
mail.login(self.lineEdit.text(), self.lineEdit_2.text()) # SMTP serverina giriş yapıyoruz.
mail.sendmail(self.mesaj["From"], self.mesaj["To"], self.mesaj.as_string()) # Mailimizi gönderiyoruz
self.label_6.setText(("Form","Mesaj Başarıyla Gönderildi"))
mail.close() # SMTP serverımızın bağlantısını koparıyoruz.
except:
self.label_6.setText("Mesaj Gönderme İşlemi Başarısız Oldu")
def click_2(self):
qApp.quit()
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "Mail Gönderme"))
self.label.setText(_translate("Form", "E-Mail Adresiniz:"))
self.label_2.setText(_translate("Form", "Şifreniz:"))
self.label_3.setText(_translate("Form", "Mesajınızın Konusu:"))
self.label_5.setText(_translate("Form", "Mesajınızın İçeriği:"))
self.label_4.setText(_translate("Form", "Göndereceğiniz Mail Adresi:"))
self.pushButton.setText(_translate("Form", "Gönder"))
self.pushButton_2.setText(_translate("Form","Çıkış"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Form = QtWidgets.QWidget()
ui = Ui_Form()
ui.setupUi(Form)
Form.show()
sys.exit(app.exec_())