konto usunięte

Temat: cursor wysyłajacy meila

Cześć

Napisałem pakiet który wysyła meile do klientów na podstawie wpisanych wcześniej adresów meil przez userów. Wszystko jest oki przy jednym adresie meil, w przypadku jak użytkownik wpisze kilka adresów to sypie błędem. Można to jakoś rozdzielić na pojedyncze meile ?

Kawałek kodu.

declare
cursor c is
select
tresc as tresc,
adres_meil
from test;

r c%ROWTYPE;

BEGIN

FOR r IN c
LOOP
wyslij_meila (
p_to => r.adres_meil,
p_from => 'test@aaa.com',
p_subject => r.tresc,
p_text_msg => 'test test',
p_html_msg => '<html>Jakis tam wzór meila</html>
)
end loop;
end;

W przypadku jednego adresu wszystko oki. w przypadku wpisania dwóch adresów przez użytkownika np: uzytkowni@test.pl, uzytkownik@test.pl sypie błędem. Adresy te wpisywane sa w jednym polu w aplikacji

konto usunięte

Temat: cursor wysyłajacy meila

Jakub S.:
Cześć

Napisałem pakiet który wysyła meile do klientów na podstawie wpisanych wcześniej adresów meil przez userów. Wszystko jest oki przy jednym adresie meil, w przypadku jak użytkownik wpisze kilka adresów to sypie błędem. Można to jakoś rozdzielić na pojedyncze meile ?

Kawałek kodu.

declare
cursor c is
select
tresc as tresc,
adres_meil
from test;

r c%ROWTYPE;

BEGIN

FOR r IN c
LOOP
wyslij_meila (
p_to => r.adres_meil,
p_from => 'test@aaa.com',
p_subject => r.tresc,
p_text_msg => 'test test',
p_html_msg => '<html>Jakis tam wzór meila</html>
)
end loop;
end;

W przypadku jednego adresu wszystko oki. w przypadku wpisania dwóch adresów przez użytkownika np: uzytkowni@test.pl, uzytkownik@test.pl sypie błędem. Adresy te wpisywane sa w jednym polu w aplikacji

A co robi procedura wyslij_meila ? Z czego korzysta. Może wystarczy zmienić przecinki na średniki. Najlepiej było zrobić dodatkową tabele na adresy do wysłania bo tak to w tym polu możesz mieć wszystko jak nie ma założonej dobrej walidacji.

konto usunięte

Temat: cursor wysyłajacy meila

Ten post został edytowany przez Autora dnia 24.09.13 o godzinie 11:31

konto usunięte

Temat: cursor wysyłajacy meila

Tomek P.:
Jakub S.:
Cześć

Napisałem pakiet który wysyła meile do klientów na podstawie wpisanych wcześniej adresów meil przez userów. Wszystko jest oki przy jednym adresie meil, w przypadku jak użytkownik wpisze kilka adresów to sypie błędem. Można to jakoś rozdzielić na pojedyncze meile ?

Kawałek kodu.

declare
cursor c is
select
tresc as tresc,
adres_meil
from test;

r c%ROWTYPE;

BEGIN

FOR r IN c
LOOP
wyslij_meila (
p_to => r.adres_meil,
p_from => 'test@aaa.com',
p_subject => r.tresc,
p_text_msg => 'test test',
p_html_msg => '<html>Jakis tam wzór meila</html>
)
end loop;
end;

W przypadku jednego adresu wszystko oki. w przypadku wpisania dwóch adresów przez użytkownika np: uzytkowni@test.pl, uzytkownik@test.pl sypie błędem. Adresy te wpisywane sa w jednym polu w aplikacji

A co robi procedura wyslij_meila ? Z czego korzysta. Może wystarczy zmienić przecinki na średniki. Najlepiej było zrobić dodatkową tabele na adresy do wysłania bo tak to w tym polu możesz mieć wszystko jak nie ma założonej dobrej walidacji.
Cześć

wyslij_meila to funkcja wysyłająca meila gdzie parametrem wejsciowym jest adres i treść to akurat działa bez problemu dla pojedyńczego meila. wiesz co mi głównie chodzi o rozbicie tych meili tak, żeby poszła wysyłka dla kazdego z osobna. Validacja trzymana jest na poziomie aplikacji tak wiec tym bym sie nie martwił.

konto usunięte

Temat: cursor wysyłajacy meila

Jakub S.:
Cześć

wyslij_meila to funkcja wysyłająca meila gdzie parametrem wejsciowym jest adres i treść to akurat działa bez problemu dla pojedyńczego meila. wiesz co mi głównie chodzi o rozbicie tych meili tak, żeby poszła wysyłka dla kazdego z osobna. Validacja trzymana jest na poziomie aplikacji tak wiec tym bym sie nie martwił.

Czyli potrzebujesz zrobić splita po przecinku i wysłać do każdego?

konto usunięte

Temat: cursor wysyłajacy meila

Tomek P.:
Jakub S.:

Cześć

wyslij_meila to funkcja wysyłająca meila gdzie parametrem wejsciowym jest adres i treść to akurat działa bez problemu dla pojedyńczego meila. wiesz co mi głównie chodzi o rozbicie tych meili tak, żeby poszła wysyłka dla kazdego z osobna. Validacja trzymana jest na poziomie aplikacji tak wiec tym bym sie nie martwił.

Czyli potrzebujesz zrobić splita po przecinku i wysłać do każdego?
Dokładnie tak jak piszesz tylko mam problem z podzieleniem tych meili i przekazaniem go do funkcji
Irek Słonina

Irek Słonina programowanie, bazy
danych i linuksy

Temat: cursor wysyłajacy meila

Zamiast

select
tresc as tresc,
adres_meil
from test;


spróbuj:

SELECT
tresc AS tresc
, trim(regexp_substr(adres_meil, '[^,]+', 1, level)) AS adres_meil
FROM test
connect by regexp_substr(adres_meil, '[^,]+', 1, level) is not null );
;

Następna dyskusja:

ZF i cursor zwracany przez ...




Wyślij zaproszenie do