Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.10;
Скачать: CL | DM;

Вниз

Можно ли с помощью cgi отправлять письма?   Найти похожие ветки 

 
Шишкин Илья ©   (2003-01-24 17:46) [0]

Сабж


 
Delirium^.Tremens ©   (2003-01-24 18:10) [1]

Можно:

int post::new_message() {
static Layout l("Sending Mail") ;
l.print(1) ;
cgi.readfrom(config.preferences()) ;
String real_from(cgi["Name"].as_text()) ;
String if_unset_org(cgi["Organization"].as_text()) ;
if ( real_from == NULL_String )
real_from = cgi.remote_user() + "@" + config.domain() ;
else
real_from = real_from + " <" + cgi.remote_user()
+ "@" + config.domain() + ">" ;

cgi.define(3,
"Attach:longfile",
"AttachType:select",
"Body:textarea"
) ;
cgi.form() ;
message.read(cgi["my_ref"].as_text()) ;

// parse the headers supplied to us
// add from and org if not supplied
// check To and Subj
Map& headers = message.parse_headers(cgi["Head"].as_text()) ;

String hh("To") ;
String s(cgi[hh].as_text()) ; // strip down to bare addresses
if (s != NULL_String) {
int n(s.freq(",")+1) ;
if ( n > 1 ) {
Regex comma("[ \t]*,[ \t]*") ;
String* ss = new String[n] ;
split(s,ss,n,comma) ;
while (--n >= 0) {
s.at(ss[n]) = Address(ss[n]).email() ;
}
headers[hh] = s ;
delete [] ss ;
} else
headers[hh] = Address(s).email() ;
} else if (headers[hh] == NULL_String)
message.add_error("No recipient specified!\n") ;

hh = "Subject" ;
if (cgi[hh].as_text() != NULL_String)
headers[hh] = cgi[hh].as_text() ;
else if (headers[hh] == NULL_String)
message.add_error("No subject specified!\n") ;

hh = "From" ;
String hs = "Sender" ;
if (headers[hh] == NULL_String)
headers[hh] = real_from ;
else if (headers[hs] == NULL_String)
headers[hs] = real_from ;
else {
hh = "X-Authenticated-Sender" ;
headers[hh] = real_from ;
}

hh = "Organization" ;
if (headers[hh] == NULL_String)
headers[hh] = if_unset_org ;

hh = "Message-Id" ;
hs = "<" ;
hs += cgi["my_ref"].as_text() + "@" + cgi.server_name() + ">" ;
headers[hh] = hs ;

if (strlen (cgi["Attach"].as_longtext()) < 2)
message.body(cgi["Body"].as_text()) ;
else {
message.start_mime() ;
message.add_mime(cgi["Body"].as_text()) ;
message.add_mime(cgi["Attach"], cgi["AttachType"].as_text()) ;
message.end_mime() ;
}
return 0 ;
}



http://www.cgi-resources.com/



Страницы: 1 вся ветка

Текущий архив: 2003.02.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
1-28842
snoup
2003-02-02 19:38
2003.02.10
Как отключиться от интернета??? Программно, конечно!


3-28637
AlexAlex2
2003-01-22 15:33
2003.02.10
Редактируемый Grid с помощью компонентов dbExpress


4-29176
DDF
2002-12-25 08:33
2003.02.10
Перехват Текста под мышью.


6-28954
Yogi
2002-12-11 07:29
2003.02.10
Медленный connect


14-29053
kat
2003-01-24 15:29
2003.02.10
DOA for Delphi7