שלח תשובה

זירת השאלות

278
צפיות
15
תשובות

מיילים דרך אתר, בעברית + אנגלית

,‏ 15 בספטמבר, 2004

שלום לכולם,

עד היום הסתבכתי בצורה אינסופית עם שליחת מיילים לגולשים דרך האתר שלי.
אני משתמש ב-CDONTS, וכשאני מנסה לשלוח מיילים:

1. או שהעברית הפוכה, או שהאנגלית הפוכה,
ואני צריך לפתוח תגית <div dir=rtl> או <div dir=ltr>, כל פעם שאני כותב מילה בשפה שונה…

2. אחרי שסוף סוף השתלטתי על בעיית העברית והאנגלית עם מיליון ואחת DIV-ים,
כל המספרים יצאו הפוך, ואת זה כבר לא הצלחתי לסדר!

3. לא מצאתי דרך נורמלית לצרף קבצים כמו שצריך.


האם מישהו יכול להושיע?…

תגיות:

15 תשובות

  1. BuildHome הגיב:

    למה להסתבך? הפתרון פשוט (קוד דוגמא)
    סבלתי מהבעיה זמן רב עד שהחלטתי לחפש פתרון.

    הפתרון היחידי שמצאתי הוא להמיר את תוכן ההודעה ליוניקוד ואז להשתמש בפונקציה Server.HTMLEncode ולאחר מכן להמיר את תווי ה-HTML (<>) ועוד כמה לתגים האמיתיים שלהם על מנת שיתקבל קוד HTML תקני.

    הנה קוד דוגמא פשוט:
    <%msgBody = "<span style=""font-size:12px;font-family:Arial;"">סתם טקסט עם אנגלית – bla bla 123</span>"

    Set Mail = Server.CreateObject("CDONTS.NewMail")
    With Mail
          .From = "your@e.co.il"
          .To = "to@e.co.il"
          .MailFormat = 0
          .BodyFormat = 0
          .SetLocaleIDs "65001"
          .Subject = "סתם נושא"
          .Body = DoHTML(Server.HTMLEncode(msgBody))
          .Send
    End With
    Set Mail = Nothing

    Function DoHTML(str)
          If Len(str) = 0 or IsNull(str) Then Exit Function
          str = Replace(str,"<","<")
          str = Replace(str,">",">")
          str = Replace(str,""","""")
          str = Replace(str,"&","&")
          DoHTML = str
    End Function
    %>
    גם אחרים נתקלו בבעיה זו והפתרון היחידי שמצאו הוא לעיל.

  2. Dj NaSh הגיב:

    לא פתר את הבעיה…
    אהלן,

    הקוד שהוספת לא פתר את הבעיה,
    אלא שהמיילים מגיעים עכשיו והם בלתי קריאים, כיוון שעכשיו אפשר לראות את קוד ה-HTML שתוכנת הדואר לא ידעה להבין.

    לפי דוגמת הקוד שהבאת, ככה נראה המייל עצמו:
    <span style=""font-size:12px;font-family:Arial;"">סתם טקסט עם אנגלית – bla bla 123</span>

    (עם כל התגיות).

    בנוסף, עוד לא מצאתי פיתרון לצירוף קבצים…

  3. BuildHome הגיב:

    זה ברור
    שאימייל לא יהיה ממש קריא בתוכנה שלא יכולה להציג אימיילי HTML.
    הקוד עובד וזה בדוק ב-100% ועזר למספר אנשים בעבר.

    אתה יכול לשלוח את האימייל בפורמט טקסט וללא HTML.

  4. BuildHome הגיב:

    בנוגע לצירוף קבצים
    מה בדיוק לא הצליח לך? קיבלת שגיאה? כיצד ניסית לצרף קובץ לאימייל?

  5. Dj NaSh הגיב:

    שליחת מייל לרשימת תפוצה ענקית
    שלום לכולם,

    אני שולח דרך האתר שלי מיילים לרשימת התפוצה של האתר שמונה מספר אלפי כתובות מייל.
    את כולם אני רושם ב-BCC.

    1. מה עדיף? לשלוח מייל אחד כשכל הרשימה ב-BCC, או לחלק את השליחה למספר מיילים, שבכל אחד כמות מסויימת של נמענים.
    אם עדיף לחלק – לכמה נמענים למייל לעשות את החלוקה?

    2. משום מה, דווקא באאוטלוק שלי, כשמגיע מייל שאני שולח לרשימת תפוצה, הוא אוטומטית עובר ל-Deleted Items.
    אני לא הגדרתי שום כלל ספציפי / כלל דואר זבל. מה הסיבה שזה קורה?
    ואיך אני יכול לדאוג שזה לא יקרה למשתמשים נוספים?

    בתודה מראש (חג שמח! :))

  6. Dj NaSh הגיב:

    אפילו אאוטלוק לא קורא את זה
    אפילו תוכנת האאוטלוק קוראת את המייל כטקסט, ולא כ-HTML…

  7. Dj NaSh הגיב:

    צירוף קובץ תמונה שיוצג בהודעה
    ניסיתי כל מיני קטעי קוד מאתרים שונים, לצירוף קבצים למייל.
    הכוונה שלי הייתה,
    לצרף תמונה שבקוד ה-HTML של ההודעה, אני אוכל להציג אותה (במקום להציג לינק למקום אחר ברשת).

    לא הצלחתי עד עכשיו לעשות את זה עם CDONTS.NewMail.
    זה אפשרי?

  8. BuildHome הגיב:

    אז איך לי הוא קורא אותו ?
    שלחתי את הקוד שכתבתי לדוגמא ומקבל אותו מצוין.

  9. BuildHome הגיב:

    תשובה
    1. תפצל את הרשימה שלך ל-5 אנשים על מנת שההודעה שאתה שולח לא תחשב כספאם (חלקי).

    2. בנוגע לשאלות בקשר ליישומים במחשב, פנה לפורום "תמיכה טכנית".

    3. להבא, שרשר שאלותיך.

  10. Dj NaSh הגיב:

    עדכון RecordSet
    שלום לכולכם,

    אני עובד עם אובייקט ADODB.RecordSet, כדי לשלוף נתונים מטבלאות ולעדכן אותן.

    בהנחה שהשליפה מתבצעת ע"י

    RS.Open SQL, Conn, 2, 2

    אז כשאני אבצע:

    RS("Field1") = "ערך חדש"
    RS("Field2") = "ערך חדש"
    RS.Update

    הרשומה תעודכן ב-DB.

    לעומת זאת, אם ה-SQL שלף נתונים מכמה טבלאות במקביל, למשל:


    SQL = "SELECT * FROM Table1, Table2 Where Table1_ID=Table2_ID"

    אז פקודת Update לא עובדת יותר, בטענה ש-ADODB.RecordSet לא יודע לעדכן כמה טבלאות במקביל.

    יש לכם פיתרון סביר לבעיה הזאת?
    (במקום להיכנס טבלה-טבלה, ולעדכן בנפרד כל דבר…)

  11. Dj NaSh הגיב:

    מיילים, אאוטלוק ושרשורים
    5 הודעות זה המקסימום לדעתך?
    כי זה אומר שהשרת יצטרך לשלוח מאות מיילים…

    לגבי היישומים, לא הבנת את השאלה שלי.
    אצלי באאוטלוק, המיילים שאני שולח מגיעים ישירות ל-Deleted Items, בלי שהגדרתי כלום.
    זה אומר שיכול להיות שמשתמשים אחרים ברשימת תפוצה שאני שולח אליהם את המייל גם לא מספיקים לראות אותו, כי הוא מגיע ל-Deleted Items.
    ידוע למה?

    לגבי שרשורים, לא ידעתי את הכלל הזה, ואגב, לתשומת ליבכם –
    החלון של "האם ברצונך לשרשר את ההודעה שלך?" קפץ לי כשבאתי לשלוח הודעה חדשה.
    אז במקום ללחוץ Ok, לחצתי על Cancel במטרה לחזור לחלון ההודעה שאני כותב ולשנות את הכותרת שלה.
    אבל ברגע שאתה לוחץ על Cancel, הוא אוטומטית פותח אותה כהודעה חדשה…

  12. BuildHome הגיב:

    אוקי
    1. למשל נטויז’ן מחשיבים אימייל כספאם במידה והוא נשלח למעל לחמישה אנשים אז עדיף חמישה וגם אחרים מחשיבים לפי כך ספאם.

    2. לגבי היישומים, אני חושב שזו בעיה באאוטלוק עצמו וצריך לבדוק זאת.

    3. צריך ללחוץ על OK וזה ישרשר את הודעתך להודעה הקיימת בפורום.

  13. Dj NaSh הגיב:

    השרשורים
    הבנתי ש-OK ישרשר,
    אבל לחצתי Cancel כי זה בדר"כ מחזיר אותך אחורה לחלון שבאת ממנו, כדי לאפשר לך לשנות / לתקן לפני שאתה שולח שוב את ההודעה.

    אנשים ילחצו על Cancel וזה יפתח להם הודעה חדשה בלי כוונתם, ואתם תצטרכו לשרשר אותה –> סתם עבודה בשבילכם..

    אגב – תודה על העזרה!

  14. eLisHaWM הגיב:

    למה לא לשתמש במשפט UPDATE
    SQL נטו, יותר פשוט ויעיל


    UPDATE משהו SET שדה = ‘ערך’ WHERE תנאי

  15. Dj NaSh הגיב:

    עדיין צריך לכתוב כמה משפטים נפרדים
    אז בעצם עדיין אני צריך לכתוב משפט SQL לכל טבלה שאני רוצה לעדכן בה משהו.
    קיוויתי שה-ADO אמור לייעל לי תהליכים, ולחסוך לי את הצורך הזה.

    יש לי אפשרות להשתמש בפקודת UPDATE של SQL ולעדכן מספר טבלאות במשפט אחד?

שלח תשובה

חדש! אחסון אתרים של וובמאסטר

שירות אחסון אתרים
המקצועי של וובמאסטר!

מומחים באירוח אתרי
WordPress, Joomla, Drupal

  • שרתי לינוקס עם CloudLinux, LiteSpeed
  • 1GB דיסק SSD, 10GB תעבורה חודשית
  • ממשק ניהול cPanel, תעודת SSL חינם

עכשיו במחיר היכרות:
רק 420 ש"ח לשנה!