תוכנה לשליחת אימיילים
-
הקבצים האחרים הם קבצים זהים לכל הרשימה.
רק המכתב האישי משתנה בין שם לשם.
אני חשבתי
- לטעון את הרשימה.
- ליצור מסמך PDF לרשומה נוכחית.
- לשלוח לו הודעה עם הקבצים המצורפים. (צירוף הקבצים כפי שמסומן בשם הנוכחי)
ולהעיף את המכתב באיזה שהוא תקיה, כמכתב שנשלח.
מעבר לרשומה הבאה וכו'.
בצורה הזו יש לי את כל הנתונים הנדרשים ביד מן המוכן, ולא צריך לחפש קובץ ולהתאים לו שם או להיפך.
ודוד, צל"ש.
כ"כ דבקתי בלהבין את מערבולת התווים (המתבהרים לאט לאט...) של C#.
שכבר כמעט שכחתי מה אני צריך, ואתה עדיין מחזיק ראש....
צל"ש רציני.פורסם במקור בפורום CODE613 ב09/06/2017 01:51 (+03:00)
-
@דוד ל.ט.
זה לא נקרא להמציא את הגלגל.
SQL Reporting Services זה מפלצת, ופה מישהו ביקש תוכנה ייעודית.אקדים ואומר שכנראה שהודעה זו לא תשכנע אף אחד מהמאמינים בשרשור זה, אבל את דעתי ארשום, למען התיעוד ההיסטורי.
SSRS הוא חבילה מקיפה לכל נושא ההפצה, וקראתי בדיוק כמוך מה הוא ביקש. ולכן אני ממליץ על SSRS אפילו למי שלא נגע בזה מעולם, זה הרבה פחות כואב והרבה יותר יעיל מהפתרונות שמסתמנים פה, מה גם בדרך כלל לקוח לא צריך תוכנה ייעודית, הוא צריך פתרון. לפלא בעיני אם הלקוח ביקש תוכנה ייעודית דייקא.
ל SSRS יש עקומת למידה ממש ממש נוחה והוא אפילו לא דורש כישורי תכנות עבור רוב הדברים, וכשאני כותב מפלצתי אני מתכוון לכמות הפיצ'רים הגדולה, אולי זה הפחד מהלא מוכר (או ממפלצות), אבל ויז'ואל סטודיו מפלצת גדולה פי כמה, ולמרות זאת ממליצים פה לכל דכפין להתחיל עם VS.
פורסם במקור בפורום CODE613 ב11/06/2017 12:22 (+03:00)
-
soft, דבר ראשון לא מבין למה אתה חושב שדעתך לא משכנעת, אני אישית מושפע ממנה מאוד.
דבר שני פתרון של תוכנה קטנה וניידת מול פתרון של מערכת מבוססת על תשתית תוכנה הוא שמים וארץ. תוכנה אתה לא צריך שום ציוד או תוכנה מלבד קובץ EXE או תיקייה קטנה עם כמה קבצים. ברגע שזה עובד אתה אומר שלום למפתח ולאיש המחשבים וזה עובד עד ביאת הגואל. פתרון שמצריך תשתית כמו שרת לוקלי או מרוחק זה להתחתן. זה מחייב תחזוקה - שרת server 2003 שהיה הכי נוצץ לפני כמה שנים הוא מחדל בטיחותי כיום.
אני פיתחתי תוכנה קטנה למישהו לפני 8 שנים והוא לא היה צרך אותי אפי' פעם את מאז והוא משתמש בה בכל עת. ברור שאם הייתי מבסס אותה על SQLSERVER למשל, הייתי שומע ממנו כל שנה וחצי.
אינני מבין את ההשוואה בין VS שזו תוכנה למחשב המפתח לSSRS שזה תשתית למחשב הלקוח-המשתמש או לשרת שישמש אותו לאורך כל ימי האפליקציה.פורסם במקור בפורום CODE613 ב11/06/2017 23:42 (+03:00)
-
@דוד ל.ט.
אתה יכול לנסות בוורד, לא ייתקע את המחשב.
אני לא הגבתי לך פשוט כי לא הבנתי לגמרי את הסיטואציה.
סיכמתי שישנו מיזוג לכאורה גם לגוף הודעה וגם לקובץ המצורף - ולא ראיתי את התייחסותך לעניין.תודה.
פרה פרה, אסיים עם מיזוג הוורד, אעבור למיזוג ההודעה.
לימדו אותי שאם עולים שני מדרגות ביחד מועדים ונופלים...בקובץ המצורף יש מכתב אחד שבו פרטים אישיים,
אחרי זה יש מיזוג של קבצים מצורפים לגוף הודעה, ממה שהמשתמש סימן לכל אחד.פורסם במקור בפורום CODE613 ב12/06/2017 14:20 (+03:00)
-
אכן פרה פרה, אבל זה משפיע על התכנון, ולכן מתחילת האשכול אני מציק לך מה הצרכים של התוכנה.
אני לא אשאל אותך בפעם החמישים האם ההודעה עצמה קבועה או גם עוברת מיזוג, ואני מניח שכן ולכן:
מיזוג של מצורפים יחד עם הודעה בכל מקרה מחייב לעבוד שלא דרך וורד. לא רק בגלל שבמיזוג דואר אין צירוף קבצים שעל זה יכלנו להתגבר עם קוד, אלא בעיקר בגלל שבוורד אין מצב למזג להודעת HTML שלא דרך האוטלוק (מממ... אולי עם שמירה לHTML פר מיזוג הודעה).פורסם במקור בפורום CODE613 ב12/06/2017 14:32 (+03:00)
-
אוי, דוד, אתה מכיר כבר את הצרכים יותר טוב ממני.
כתבתי כבר מקודם, ואכתוב שוב, אני משתגע ממך.
איך שבן אדם מוכן ללכת ככה עד הסוף רק בשביל לעזור למישהו שהוא לא מכיר...
אשריך ישראל.אז ככה.
הוא רוצה לשלוח מכתב לכל אחד.
צירוף קצבים לפי בחירה לכל הודעה.
בגוף ההודעה עצמה, אין צורך במיזוג או עיצוב מיוחד, אולי רק את שם הנמען בנושא. - כך, שבעצם עם מיזוג כתובת הנמען למשלוח ממוזג גם השם בנושא.., לא?אז כל הצורך בוורד זה רק לשם מיזוג המכתב המצורף.
כתבתי למעלה, התוכנית שלי:
למזג מכתב, לצרף אותו להודעה, לצרף מסמכים, לשלוח.
את הפעולה הזו אני עושה כשהפוקוס נמצא על שם מסויים.
שלחתי, מעביר פוקוס לשם אחר, וממשיך...
את ההודעה אני שולח עם הקוד שאברהם הביא למעלה או משהו דומה, ישר מתוך החלון.
מקווה שלא גיבבתי סתם כיתובים וזה מספיק מובן.ושוב, תודה תודה תודה תודה
פורסם במקור בפורום CODE613 ב12/06/2017 14:51 (+03:00)
-
תודה על המחמאות. לא יודע בדיוק למה כל הודעה שלי כ"כ מלהיבה אותך אנחנו בפורום ובדיוק ככה עושים בפורום.
אתה לא חייב לחזור כל פעם על כל מעשה בראשית די בציון העניין שההודעה סטטית והנושא דינמי.
ונדמה לי שבגלל הקבצים מצורפים והנושא הדינמי שליחת המייל חייבת להיעשות מתוך קוד שתכתוב.
ובגלל שככה אתה צריך 4 רכיבים בתוכנה:- שליחת מיילים (הקוד של אברהם)
- קריאה/כתיבה מאקסס
- מיזוג להודעה/קבצים מסוג HTML עם טוקנים לשדות
- ייצוא HTML לPDF (עם המחלקה ההיא).
לחלק השלישי עליך לכתוב קוד לבד (אולי תעתיק רק את הרלוונטי מהקוד של אברהם).
עורך HTML אני לא חושב שאתה צריך כי הלקוח ידאג להמציא את הHTML בבוא היום מגרפיקאי או XYZ או תוכנה שתבנה בבוא העת...
כעת תגיד איפה אתה מתקשה ונשמח לעזור.פורסם במקור בפורום CODE613 ב12/06/2017 17:25 (+03:00)
-
כי אני מרגיש אזוב שמדבר עם ארז...
אני מבולבל כי אני לא מבין למה אני צריך להשתמש עם HTML.
כל הנושא של המיזוג אני יכול לעשות בוורד, נכון?
את שורת הנושא אקח מתיבת הטקסט של השם, וכן שאר הפרטים אפי' אם ארצה בגוף ההודעה בלי עיצוב מיוחד.
צירוף המכתב היא הקובץ שנוצר ברגע הקודם. שאר הקבצים יבדוק לפי הסימונים.
וזהו.
מה הצורך של HTML?(את האמת שלא הצלחתי להבין כל כך איך עובד שליחת ההודעה שאברהם הביא למעלה איפה מגדירים את חשבון השולח, אבל מצאתי ברשת הרבה קודים של שליחה עם SMTP ששם אני יכול לשחק עם הכל)
פורסם במקור בפורום CODE613 ב12/06/2017 19:23 (+03:00)
-
אתה מדבר על מצב בו התוכנה שלך מתמקדת בנמען אחר נמען ועושה את הפעולות הבאות: לוקחת את הכתובת ושולחת אליו את ההודעה (פה כבר אתה מוכרח HTML.. וורד לא מייצר הודעות אלא דרך האוטלוק) כשהנושא נלקח משדה ייעודי ורק למסמכים המצורפים אתה מגייס את וורד.
אז ידידי העבודה שנטלת על עצמך נקראת מיזוג דואר, ואם כבר אתה עושה את העבודה הזאת למה אתה צריך את וורד? רק בשביל לדעת לשתול טקסט בתוך מסמך?!למה html? משתי סיבות.
א. כי ההודעה עצמה היא בפורמט html.
ב. כי זה הכי קל לעצב מסמכים ככה בקלות כתבנית למיזוג.פורסם במקור בפורום CODE613 ב12/06/2017 19:40 (+03:00)
-
-
יש למישהו איזה המלצה לעורך HTML שולחני טוב,
אם לא, אז יש לי כבר כמה...עם הRazorEngine שאברהם הביא כאן, לא הסתדרתי
הורדתי את הספריה, והשורה הזאת לא נתמכת var templateService = new TemplateService();לא הבנתי מה הקשר בין שני חלקי ההודעה שלך.. ונראה לי שגם דוד לא הבין ולכן הוא שאל.
אתה מחפש עורך HTML, דהיינו עורך קוד כדי שאתה תוכל לכתוב בו את הHTML? אם כן, הכי מומלץ זה Webstorm שהוא בתשלום, או Visual studio code שהוא חינמי לגמרי ויש לו מלא הרחבות שעושות את העבודה מעולה!
אבל אם זו כוונתך, אז כמו שדוד שאל, מה הקשר לנושא? כבר גמרת את כל הפרוייקט??
וגם מה זה קשור לrazorEngine שהוא בסה"כ מנוע שיודע לרנדר את הטמפלייט שכתבת ברייזור לקובץ הטמל..פורסם במקור בפורום CODE613 ב13/06/2017 18:18 (+03:00)
-
אכן התקנתי דרך nuget
הוספתי רפרנסים אלו
using RazorEngine;
using RazorEngine.Templating;ניסיתי גם עם קובץ הדוגמא משם וזה עבד, כשבאתי לבנות פרוייקט חדש (ניסיתי קונסול אפליקיישן וגם WPF)
הוא מצייר בירוק את השורה
ולמטה בerror list הוא כותב
'TemplateService' is obsolete: 'Use RazorEngineService instead'פורסם במקור בפורום CODE613 ב13/06/2017 18:28 (+03:00)
-
לפי מה שהבנתי ההrazorEngine אמור לשתול שדות בHTML.
לא כך?
וזה מה שאני מתקשה איתו.מנוע הרייזור יודע להמיר קובץ רייזור, דהיינו קובץ עם סיומת cshtml לקובץ הטמל סטנדרטי.
קובץ הרייזור מאפשר לך לייצר הטמל דינמי, ולא רק סטטי.אבאר דברי:
HTML - היא בסך הכל שפת סימון להצגת נתונים, היא מגדירה אלמנטים שהמנוע של הדפדפן יודע לפרש איך להציג אותם. למשל H1 זה כותרת ראשית, והCSS מגדיר את העיצוב שלהם, באיזה צבע, גודך וכדו'.
כדי לייצר HTML דינמי, אתה חייב להשתמש בשפת תכנות מסוימת, למשל C#, PHP, JS וכו'.
מנוע הרייזור הוא עושה את העבודה הזאת בסביבת דוטנט.
הוא מאפשר לך לשלב קוד C#, משתנים, מאפיינים וכו' בתוך קוד HTML, כך שלאחר מכן בשעת ריצת התוכנית תוכל לשתול שם את התוכן של הקובץ באופן דינמי, והרייזור ידע לפענח את זה ולהפיק לך קובץ HTML רגיל.הרייזור מפיק לך סטרינג של HTML.
הרייזור בד"כ נמצא בפרוייקטי ווב, ולכן כאשר רוצים להשתמש בו בתוכנה שולחנית צריך להשתמש בפרוייקט שהבאתי לך (או כל דבר דומה אחר).אח"כ אתה לוקח את הסטרינג הזה ומפיק ממנו PDF עם ספריות שיודעות להמיר HTML לPDF.
מובן?
פורסם במקור בפורום CODE613 ב13/06/2017 18:31 (+03:00)
-
ניסיתי גם עם קובץ הדוגמא משם וזה עבד, כשבאתי לבנות פרוייקט חדש (ניסיתי קונסול אפליקיישן וגם WPF)
הוא מצייר בירוק את השורה
ולמטה בerror list הוא כותב
'TemplateService' is obsolete: 'Use RazorEngineService instead'ירוק זה לא שגיאה, זה רק אומר לך שזה מיושן ויש היום תחביר חדש.
אתה יכול לחפש בגיטהב אחר התיעוד ולמצוא מה התיעוד החדש, או להמשיך לעשות איך שהוא עושה וזה יעבוד לך.פורסם במקור בפורום CODE613 ב13/06/2017 18:32 (+03:00)