Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
UTL_SMTP.write_raw_data(l_connection
,UTL_RAW.cast_to_raw(
'Content-Type: text/plain; charset=windows-1251'||crlf
||'Subject:=?windows-1251?Q?'||subject||'?='||crlf
||crlf||message||crlf
)
);
DECLARE
vSender VARCHAR2(30) := 'oracle@name-of-db-goes-here.domain.name.here';
vSubj VARCHAR2(50) := 'Hello';
vRec VARCHAR2(50) := 'receiver@domain.name.here';
vMesg VARCHAR2(4000);
vMType VARCHAR2(40) := 'text/plain; charset=ISO-8859-5';
BEGIN
select TO_CHAR(sysdate,'HH24:MI:SS DD.MM.YYYY') into vMesg from dual;
vMesg := vMesg || CHR(13) || CHR(10) ||
'Hello world '|| CHR(13) || CHR(10) ||
'I am so happy!' || CHR(13) || CHR(10) ||
'И могу говорить по-русски!';
utl_mail.send(vSender, vRec, NULL, NULL, vSubj,vMesg, vMType, NULL);
END;
create or replace procedure send_mail_with_authorization(p_mail_host varchar2, p_mail_port pls_integer:=587,
p_sender varchar2, p_password varchar2,
p_recipients varchar2, p_subject varchar2,
p_message varchar2) is
v_mail_conn utl_smtp.connection;
raw_message raw(32000);
raw_subject raw(32000);
begin
v_mail_conn := utl_smtp.open_connection(p_mail_host, p_mail_port);
utl_smtp.ehlo(v_mail_conn, p_mail_host);
utl_smtp.command(v_mail_conn, 'AUTH LOGIN');
utl_smtp.command(v_mail_conn, utl_raw.cast_to_varchar2(utl_encode.base64_encode(
utl_raw.cast_to_raw(p_sender))));
utl_smtp.command(v_mail_conn, utl_raw.cast_to_varchar2(utl_encode.base64_encode(
utl_raw.cast_to_raw(p_password))));
utl_smtp.mail(v_mail_conn, p_sender);
utl_smtp.rcpt(v_mail_conn, p_recipients);
utl_smtp.open_data(v_mail_conn);
utl_smtp.write_data(v_mail_conn, 'Date: ' || to_char(sysdate, 'dd-mm-yyyy hh24:mi:ss') || utl_tcp.CRLF);
utl_smtp.write_data(v_mail_conn, 'From: ' || p_sender || utl_tcp.CRLF);
utl_smtp.write_data(v_mail_conn, 'To: ' || p_recipients || utl_tcp.CRLF);
-- utl_smtp.write_raw_data(v_mail_conn, utl_raw.cast_to_raw('Content-Transfer-Encoding: base64'||
UTL_TCP.CRLF));
utl_smtp.write_data(v_mail_conn,'Content-Type: text/html; charset=UTF-8'||UTL_TCP.CRLF);
raw_subject := UTL_RAW.cast_to_raw(convert(p_subject,'AL32UTF8'));
raw_message:=utl_raw.cast_to_raw(convert(p_message,'AL32UTF8'));
utl_smtp.write_data(v_mail_conn, 'Subject: ');
utl_smtp.write_raw_data(v_mail_conn, raw_subject);
utl_smtp.write_data(v_mail_conn, utl_tcp.CRLF);
utl_smtp.write_raw_data(v_mail_conn, raw_message);
utl_smtp.write_data(v_mail_conn, utl_tcp.CRLF);
utl_smtp.close_data(v_mail_conn);
utl_smtp.quit(v_mail_conn);
end;begin
send_mail_with_authorization(p_mail_host => 'mail.rambler.ru',
p_mail_port => 587,
p_sender => 'my_mail@rambler.ru',
p_password => 'my_pass',
p_recipients => 'my_friend@gmail.com',
p_subject => 'Тема',
p_message => 'Текст письма.');
send_mail_with_authorization(p_mail_host => 'smtp.mail.yahoo.com',
p_mail_port => 587,
p_sender => 'my_mail@yahoo.com',
p_password => 'my_pass',
p_recipients => 'my_friend@gmail.com',
p_subject => 'Тема',
p_message => 'Текст письма.');
end;
Как я спам слал