![]() |
שאלה על מערכת תפוצה
האם יש אפשרות לשלוח מייל לכמה כתובות במכה אחת? (ע"י הפונקציה מייל).
ואם לא אז הדרך שאני חושב עליה היא ע"י לולאה שלוקחת בכל פעם כתובת אחת ושולחת אליה את ההודעה,אבל האם זה לא ייצור עומס על השרת לשלוח הודעות ל1000 אנשים בלולאה? |
לולאה תיצור עומס
אבל לפי דעתי אפשרי ע"י לולאה |
ציטוט:
---עריכה--- אם אני אשתמש במערך ואז אשלוף ממנו ע"י foreach זה יקח פחות משאבים מהשרת מאשר לולאת while ? |
יש מצב שיקח פחות :)
יש אפשרות אולי לישלוח עם smtp וצריך להכניס משהו כמו 100 אי מיילים וליראות איך זה שולח עם while ואחרי זה עם foreach וכמובן הכל ע"י משיכה מבסיס נתונים |
אבל מצד שני אם אני אשתמש בforeach יש פה ניצול כפול ל משאבים,בפעם הראשונה להכניס הכל למערך ע"י שימוש בwhile ואז להשתמש בforeach על המערך...
|
ב"ה
אמרו פה פעם שאפשר להכניס כמה כתובות מופרדות בפסיקים. ובמנואל כתוב שזה ככה. |
קיצור בכל מקרה צריך לעשות לולאה...
|
ציטוט:
למשל - ברגע שיש לך ברשימה 50 כתובות של נטוויז'ן (הגיוני, כולה 5%), המערכת שלהם תזהה שמאותה כתובת מייל (או מאותו IP של השרת, ע"י ה header של המייל) נשלח אותו מייל בדיוק ל 50 איש- כלומר, סביר להניח שאתה ספאמר ותחסום אוטומטית את השליחה. מה עושים במקרה כזה? מפרקים את השליחה - 5 מיילים בחצי דקה (כדי להפחית עומס על השרת וכדי למנוע חסימה). יש לך 1000 מיילים לשלוח? אין שום בעיה. חצי דקה ראשונה תשלח 1-5 (הפעולה תארך בקושי שנייה, כולה 5 מיילים שאתה תוקע ב bcc או תעשה לולאה ותשלח לכל אחד), חצי דקה שנייה 6-10, אח"כ 11-15 וכו'. סה"כ 100 דק' לשלוח ל 1000 איש, כמעט שעתיים - אתה יכול להגדיר במשימה מתוזמנת או פשוט אתה מפעיל את הסקריפט ומשאיר אותו פתוח שעתיים. את פעולת העברת העמודים אפשר לבצע ברמת צד שרת (אחרי 30 שניות לעשות redirect) או ברמת צד לקוח - בעזרת JS ושימוש ב setTimeOut או בעזרת metatag שאתה מגדיר להם מעבר ל: sendmail.aspx?start=6 (כלומר, המערכת תדע להתחיל מ 6, תספור 5, תגיע ל 10 ואז תגדיר ל start שיתחיל מ 10 פלוס 1, כלומר 11 וכך הלאה).. |
ציטוט:
|
ציטוט:
|
ציטוט:
אבל איך עושים סקריפט צד שרת שירוץ שעתיים? |
ציטוט:
או - משתמש בצד לקוח שאמרתי וככה אתה לא צריך לטפל ב TimeOut של השרת, כי שהמערכת תעבור דף זה יתחיל "מחדש" או - ברמת צד שרת תעשה redirect אחרי 30 שניות לאותו הדף עם משתנה start חדש ואז ה TimeOut שוב יתאפס. |
ציטוט:
|
כנס ל-HotSctipts.com ותחפש שם...
פעם מצאתי והשתמשתי בזה... |
ציטוט:
|
תנסה אולי להשתמש בפונקציה sleep()
משהו כזה: PHP קוד:
|
ציטוט:
זה לא שאתה מראה לאנשים את המערכת =\ זה לא אתר שמראים לחברים זה מערכת פשוטה שאתה מכניס אימיילים ואז אתה שולח הודעה אחת וזה שולח לכולם ממש כמו ששולחים הודעה אוטומתית בבפורומים לכל המשתמשים הרשומים...=\ |
ציטוט:
הוא כנראה רוצה ללמוד גם תוך כדי הפיתוח ולהבין את כל השלבים. |
ציטוט:
וגם בעתיד אם ארצה לעשות שינוי כלשהו במערכת אני אדע בדיוק איפה ומה לשנות ולא אצטרך לשבת ולקרוא קוד חדש. |
בטח שאתה יכול, פשוט אחרי כל אימייל תעשה רווח ופסיק חוץ מהאחרון...
http://il2.php.net/function.mail תסתכל שם על דוגמא 4 |
ציטוט:
כל המיילים יוגדרו כ SPAM, תקעת את השרת. |
אז שיעשה את זה עם FOR.
|
כל הזמנים הם GMT +2. הזמן כעת הוא 05:18. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ