Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Menghantar E-mel daripada MySQL 5.1 Menggunakan Kaedah Berbeza?

Bagaimanakah Saya Boleh Menghantar E-mel daripada MySQL 5.1 Menggunakan Kaedah Berbeza?

Mary-Kate Olsen
Lepaskan: 2024-11-27 05:30:13
asal
306 orang telah melayarinya

How Can I Send Emails from MySQL 5.1 Using Different Methods?

Menghantar E-mel daripada MySQL 5.1

Menghantar e-mel daripada MySQL boleh dicapai melalui pelbagai kaedah. Berikut ialah beberapa pilihan:

Kaedah 1: Menggunakan Perkhidmatan SMTP dengan fail luar

Jika anda menjalankan perkhidmatan SMTP, anda boleh menggunakan arahan fail luar untuk menghantar e-mel dengan menulis ke direktori drop. Ambil perhatian bahawa kelantangan tinggi boleh mengakibatkan nama fail pendua, tetapi terdapat teknik untuk menghalangnya.

Kaedah 2: Mencipta UDF

Sebagai alternatif, anda boleh mencipta Pengguna -Fungsi Ditentukan (UDF) untuk menghantar e-mel. Berikut ialah contoh penyelesaian pencetus:

CREATE TRIGGER test.autosendfromdrop BEFORE INSERT ON test.emaildrop
FOR EACH ROW BEGIN
      /* WRITE THE EMAIL FILE HERE*/      
      SELECT  concat("To: ",NEW.To),
              concat("From: ",NEW.From),
              concat("Subject: ",NEW.Subject),
              NEW.Body
          INTO OUTFILE 
                   "C:\inetpub\mailroot\pickup\mail.txt" 
              FIELDS TERMINATED by '\r\n' ESCAPED BY '';            
END;
Salin selepas log masuk

Kaedah 3: Mempertingkatkan Badan Mesej

Untuk memformat badan mesej e-mel, anda boleh menggunakan fungsi seperti ini:

CREATE FUNCTION `HTMLBody`(Msg varchar(8192)) 
    RETURNS varchar(17408) CHARSET latin1 DETERMINISTIC
BEGIN
  declare tmpMsg varchar(17408);
  set tmpMsg = cast(concat(
      'Date: ',date_format(NOW(),'%e %b %Y %H:%i:%S -0600'),'\r\n',
      'MIME-Version: 1.0','\r\n',
      'Content-Type: multipart/alternative;','\r\n',
      ' boundary=\"----=_NextPart_000_0000_01CA4B3F.8C263EE0\"','\r\n',
      'Content-Class: urn:content-classes:message','\r\n',
      'Importance: normal','\r\n',
      'Priority: normal','\r\n','','\r\n','','\r\n',
      'This is a multi-part message in MIME format.','\r\n','','\r\n',
      '------=_NextPart_000_0000_01CA4B3F.8C263EE0','\r\n',
      'Content-Type: text/plain;','\r\n',
      '  charset=\"iso-8859-1\"','\r\n',
      'Content-Transfer-Encoding: 7bit','\r\n','','\r\n','','\r\n',
      Msg,
      '\r\n','','\r\n','','\r\n',
      '------=_NextPart_000_0000_01CA4B3F.8C263EE0','\r\n',
      'Content-Type: text/html','\r\n',
      'Content-Transfer-Encoding: 7bit','\r\n','','\r\n',
      Msg,
      '\r\n','------=_NextPart_000_0000_01CA4B3F.8C263EE0--'
      ) as char);
  RETURN tmpMsg;
END ;
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghantar E-mel daripada MySQL 5.1 Menggunakan Kaedah Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan